当前位置:Gxlcms > 数据库问题 > mysql选错娱乐平台源码搭建索引的原因与处理

mysql选错娱乐平台源码搭建索引的原因与处理

时间:2021-07-01 10:21:17 帮助过:19人阅读

mysql选错娱乐平台源码搭建《企娥21717 93408》索引的原因与处理
1执行计划预估行数错误
2order by和主键类型不同导致 

索引基数
一个索引上不同的值越多,这个索引的区分度就越好。而一个索引上不同的值的个数,我们称之为“基数”(cardinality)。也就是说,这个基数越大,索引的区分度越好。
我们可以使用 show index方法,看到一个索引的基数。
MySQL 是怎样得到索引的基数的呢?  这里,我给你简单介绍一下 MySQL 采样统计的方法。
为什么要采样统计呢?因为把整张表取出来一行行统计,虽然可以得到精确的结果,但是代价太高了,所以只能选择“采样统计”。
采样统计的时候,InnoDB 默认会选择 N 个数据页,统计这些页面上的不同值,得到一个平均值,然后乘以这个索引的页面数,就得到了这个索引的基数。
而数据表是会持续更新的,索引统计信息也不会固定不变。所以,当变更的数据行数超过 1/M 的时候,会自动触发重新做一次索引统计

扫描行数
根据基数来估算每个索引对应的需要扫描行数
explain sql;
对应的rows是mysql预估的扫描条数
analyze table t;重新统计索引的行数

为什么有时会得到错误的扫描行数?

mysql选错娱乐平台源码搭建索引的原因与处理

标签:plain   ali   数据表   均值   平台   类型   区分   explain   结果   

人气教程排行