第2题 关于合并参数 progressive_merge_num,以下说法正确的是?
A. 设置为1时,每次合并都是全量合并
B. 设置为0时,表示每次合并都是渐进合并
C. 值越大,每次合并的代价越小,但需要更多次合并才能完成全量合并
D. 只能在sys租户级别设置,用户租户无法修改
1 个赞
正确答案:A
A. 设置为1时,每次合并都是全量合并
正确
progressive_merge_num=1 代表强制全量合并,不使用渐进合并,每次合并都会重写表全部数据。
B. 设置为0时,表示每次合并都是渐进合并
错误
值为0不代表直接启用渐进合并,语义是使用默认轮次100,仅在发生需要重写数据的DDL(加列、建索引等)时才走100轮渐进合并;普通日常合并仍为增量合并,不是每次都渐进合并。
C. 值越大,每次合并的代价越小,但需要更多次合并才能完成全量合并
错误
参数仅针对DDL后数据重写生效,普通增量合并不受该参数控制;且只有发生Schema变更才会分多轮渐进合并,并非所有合并都要“完成全量重写”,描述前提缺失、逻辑错误。
D. 只能在sys租户级别设置,用户租户无法修改
错误
default_progressive_merge_num 是租户级参数,普通用户租户可自行修改;同时 progressive_merge_num 是表级属性,表所属租户就能通过 ALTER TABLE 修改,不限于sys租户。