我在MySQL和数据库方面都很陌生,我刚刚发现并尝试了索引,但有些事情并不清楚。我检查了this question和关于基数的答案,因为我理解基数的值代表索引列中的唯一对象。我对吗?或者它只是一个近似值?
我问这个因为我有一个包含40.000
行的表格,其中一个是索引列,称之为column1
有49
个唯一值,但是它的基数值为102.这怎么可能?我尝试为column1
添加具有完全唯一值的新行,但基数值未发生变化。这是正常的吗?
答案 0 :(得分:1)
来自MySQL手册 - http://dev.mysql.com/doc/refman/5.7/en/show-index.html
基数
索引中唯一值数量的估计值。这是通过运行ANALYZE TABLE或myisamchk -a更新的。基数是根据存储为整数的统计数据计算的,因此即使对于小型表,该值也不一定精确。基数越高,MySQL在进行连接时使用索引的可能性就越大。