统计信息Count-Min Sketch描述问题

统计信息的Count-Min Sketch章节说:

  • 修改统计信息的收集-手动收集中提到的 WITH NUM CMSKETCH DEPTHWITH NUM CMSKETCH WIDTH 两个参数,这两个参数会影响哈希的桶数和碰撞概率,可是适当调大来减少冲突概率,同时它会影响统计信息的内存使用,可以视具体情况来调整。在 TiDB 中,DEPTH 的默认值是 5,WIDTH 的默认值是 2048。

疑问: 这里说调大DEPTH和WIDTH会减少哈希冲突的概率,是不是有问题?正常来说,调大WIDTH会减少哈希冲突的概率没问题,为啥调大DEPTH会减少哈希冲突的概率,这样不应该是增大的哈希冲突的概率吗?

从hash表的结构看,深度增加也是总容量增加,是不是总容量增加了,冲突的概率就低了。具体实现有时间我翻翻代码。

:thinking:这句的意思是 width 影响 桶数?