mysql索引基数低,但数据多样
因此,我有一个列卡片上有索引的表 当我跑的时候mysql索引基数低,但数据多样,mysql,sql,indexing,cardinality,Mysql,Sql,Indexing,Cardinality,因此,我有一个列卡片上有索引的表 当我跑的时候 SELECT COUNT(DISTINCT(card)) FROM table 它返回490个不同的条目 但是当我跑的时候 SHOW INDEXES FROM s_edge_type_group_join; 它揭示了card列上索引卡的基数仅为1。该索引中只有该列 为什么会这样?为什么索引的基数不能反映数据的多样性?SHOW index返回的基数是一个估计值,主要由优化器用于构建查询执行计划: 基数 对索引中唯一值数量的估计。这是 通过运行A
SELECT COUNT(DISTINCT(card)) FROM table
它返回490个不同的条目
但是当我跑的时候
SHOW INDEXES FROM s_edge_type_group_join;
它揭示了card
列上索引卡的基数仅为1。该索引中只有该列
为什么会这样?为什么索引的基数不能反映数据的多样性?SHOW index返回的基数是一个估计值,主要由优化器用于构建查询执行计划:
基数
对索引中唯一值数量的估计。这是
通过运行ANALYZE TABLE或myisamchk-a更新。基数是
基于存储为整数的统计信息进行计数,因此该值不是
即使是小桌子也必须精确。基数越高,
MySQL在进行连接时使用索引的可能性越大
根据填充表格的方式,这些值可能已过时。并且,为了解释文档,在这种情况下,您应该使用来更新这些统计信息。SHOW INDEX
返回的基数是一个估计值,主要由优化器用于构建查询执行计划:
基数
对索引中唯一值数量的估计。这是
通过运行ANALYZE TABLE或myisamchk-a更新。基数是
基于存储为整数的统计信息进行计数,因此该值不是
即使是小桌子也必须精确。基数越高,
MySQL在进行连接时使用索引的可能性越大
根据填充表格的方式,这些值可能已过时。为了解释文档,在这种情况下,您应该使用更新这些统计数据