【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.1.7
【遇到的问题:问题现象及影响】 人工触发analyze table TAB的时候能看到返回结果是auto adject 0.012%比例的行数,这个比例可以调整么?
可以人工,也可以自动,比例可以按照你自己的需求调整
但是不同的版本上,对于这块的功能的支持程度上有不一样,请按照tidb 的版本参考进行调整
3 个赞
还以为是可以通过配置来实现呢,这样搞复杂了
改那多费劲的
当然可以调整,但是建议提前先了解为什么调整哪些参数,结合自己的业务情况设置最合适的值
没啥必要修改
可以修改,就是相对比较麻烦,WITH +统计信息配置项
改太麻烦
没找到需要调整的参数呢
前面的大佬提到的官网就有
ANALYZE TABLE TableNameList [WITH NUM BUCKETS|TOPN|CMSKETCH DEPTH|CMSKETCH WIDTH]|[WITH NUM SAMPLES|WITH FLOATNUM SAMPLERATE];
-
WITH NUM BUCKETS
用于指定生成直方图的桶数量上限。 -
WITH NUM TOPN
用于指定生成 TOPN 数目的上限。 -
WITH NUM CMSKETCH DEPTH
用于指定 CM Sketch 的长。 -
WITH NUM CMSKETCH WIDTH
用于指定 CM Sketch 的宽。 -
WITH NUM SAMPLES
用于指定采样的数目。 -
WITH FLOAT_NUM SAMPLERATE
用于指定采样率。
WITH NUM SAMPLES
与 WITH FLOAT_NUM SAMPLERATE
这两种设置对应了两种不同的收集采样的算法。
-
WITH NUM SAMPLES
指定了采样集的大小,在 TiDB 中是以蓄水池采样的方式实现。当表较大时,不推荐使用这种方式收集统计信息。因为蓄水池采样中间结果集会产生一定的冗余结果,会对内存等资源造成额外的压力。 -
WITH FLOAT_NUM SAMPLERATE
是在 v5.3.0 中引入的采样方式,指定的采样率的大小,是取值范围(0, 1]
的参数。在 TiDB 中是以伯努利采样的方式实现,更适合对较大的表进行采样,在收集效率和资源使用上更有优势。
可以调整
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。