暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
MySQL 当扫描的数据超过了全表的17%就不使用索引.docx
64
5页
1次
2024-05-28
免费下载
当扫描的数据超过了全表的
17%
就不使用索引
看到一篇博文说,当查询扫描的数据超过了全表的
20%
,优化器就不使用索引,而是做全
表扫描。这个之前还不知道,于是也想测试一下。
MySQL
版本
5.7.24
表结构:


 !"!#$
%& '(#!#$
) '(#!#$
%*& '(#!#$
+,-./. $
/.))
!0,!1,''(#231456
该表总共
10000
行,

)
这一列的值从
&
开始递增。
mysql> select * from t_1 limit 10;
788887888888878888888788888887
999)99
788887888888878888888788888887
9&9:&9&9&9
99:999
9*9:*9*9*9
9;9:;9;9;9
9<9:<9<9<9
9=9:=9=9=9
9>9:>9>9>9
9?9:?9?9?9
969:696969
9@9:@9@9@9
788887888888878888888788888887
首先测试
2001
行是否使用索引。
没有使用索引。再测试
2000
行的情况。
怎么也没有使用索引?既然不是
20%
,那是不是其他的值呢?经测试这个值在
1700
当扫描的行数超过
1700
行就会使用全表扫描。
也就是说当一个查询扫描的行数超过
17%
,就会放弃索引扫描使用全表扫描。
但这个规则对主键(聚族索引)并不适用。
of 5
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜