第2题 关于合并参数 progressive_merge_num,以下说法正确的是?

第2题 关于合并参数 progressive_merge_num,以下说法正确的是?
A. 设置为1时,每次合并都是全量合并
B. 设置为0时,表示每次合并都是渐进合并
C. 值越大,每次合并的代价越小,但需要更多次合并才能完成全量合并
D. 只能在sys租户级别设置,用户租户无法修改

1 个赞

正确答案:A

A. 设置为1时,每次合并都是全量合并 :white_check_mark: 正确

progressive_merge_num=1 代表强制全量合并,不使用渐进合并,每次合并都会重写表全部数据。

B. 设置为0时,表示每次合并都是渐进合并 :x: 错误

值为0不代表直接启用渐进合并,语义是使用默认轮次100,仅在发生需要重写数据的DDL(加列、建索引等)时才走100轮渐进合并;普通日常合并仍为增量合并,不是每次都渐进合并。

C. 值越大,每次合并的代价越小,但需要更多次合并才能完成全量合并 :x: 错误

参数仅针对DDL后数据重写生效,普通增量合并不受该参数控制;且只有发生Schema变更才会分多轮渐进合并,并非所有合并都要“完成全量重写”,描述前提缺失、逻辑错误。

D. 只能在sys租户级别设置,用户租户无法修改 :x: 错误

default_progressive_merge_num租户级参数,普通用户租户可自行修改;同时 progressive_merge_num表级属性,表所属租户就能通过 ALTER TABLE 修改,不限于sys租户。