我有一个包含150k行数据的表,我有一列UNIQUE INDEX
,它有一个类型VARCHAR(10)
并存储10位数的帐号。MySQL索引有时不被使用
现在,每当我查询,是一个简单的一个:
SELECT * FROM table WHERE account_number LIKE '0103%'
它导致30,000行,当我运行一个EXPLAIN我的查询,也没有任何使用索引。
但是当我做:
SELECT * FROM table WHERE account_number LIKE '0104%'
它导致4000个+排,使用的索引。
任何人都可以解释这一点?
I'm using MySQL 5.7 Percona XtraDB.
'30k +/150k'> 20%,我猜这是更快的做表扫描。 – lad2025
为什么使用4k行索引正被使用?它虽然小于30k。 –
'为什么使用4k行,索引仍然没有被使用?vs'它导致4000多行,使用INDEX。'请决定 – lad2025