统计信息问题

官方文档中对几个统计信息描述如下
image


1、 buckets的默认值数量是多少? 2. samples的采样数目单位什么? 默认值是多少? 和fast analyze之间是否有影响?
谢谢!

1赞

前两个看的源码:
1、256,最大上限1024

2、sample,有两个默认值:
tidb_analyze_version=1时,10000;
tidb_analyze_version=2时,0 (实验特性启用)
最大上限为500000,整型

2赞

谢谢,sample的值代表啥意义呢

2赞

1、sample貌似和 Count-Min Sketch 有关(如果按Oracle的理解就应该是百分比,不过不知道为何这里是500000的上限)
2、fast analyze看了下,貌似只支持tidb_analyze_version=1

看10000的最小值跟fast analyze使用的一样,但实际测试也没有因为数值指定小就变快

  • sample 是代表抽样的行数
  • 另外 sample 配置的数量越小的情况下,应该扫描的数据也是越少,整个 analyze 的过程应该越快。

image
测试了下,不知道采样如何实现的,100条和10000条的时间差异不大。