暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
MySQL 当扫描的数据超过了全表的17%就不使用索引.docx
37
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%
,就会放弃索引扫描使用全表扫描。
但这个规则对主键(聚族索引)并不适用。
索引大小对语句执行速度的影响
先看下面这条语句:
4A B
788888888887
94A 9
788888888887
9>>=<?>9
788888888887
&C=;
哇,执行的速度非常快,
100
多万行只用了不到
0.5
秒。
explian
分析一下执行计划。
mysql> explain select count(*) from search_hash;
788887888888888888878888888888888788888887888888888888888788888888888788888888878888887888888888788888888888887
99)99)9)D9D9D9B99E9
788887888888888888878888888888888788888887888888888888888788888888888788888888878888887888888888788888888888887
993,-+99E9!#9B9*;9!#9>?&<?9#:E9
788887888888888888878888888888888788888887888888888888888788888888888788888888878888887888888888788888888888887
这个表里有
3
条索引,我发现这条语句使用的是
info_hash
这条索引,为什么不用其他
索引呢?
mysql> show index from search_hash\G;
AAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAAAAAAAAAA
F
!44F&
/F+,-.
3EF
4F
GF
F>?&@
34)F!#
+DF!#
!4F
,E)F
F
AAAAAAAAAAAAAAAAAAAAAAAAAAA*CAAAAAAAAAAAAAAAAAAAAAAAAAAA
F
!44F&
/FB
3EF
of 5
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。