MySQL范圍查找時(shí),索引失效問題探究
往期熱門文章:
1、有了 for (;;) ,為什么還需要while (true) ?到底哪個(gè)更快?
2、名企公開掛“加班真好”標(biāo)語,員工稱一年被免費(fèi)“白嫖”600多小時(shí)!網(wǎng)友看不下去了,稽查部門展開調(diào)查...
來源:blog.csdn.net/qq_25188255/
article/details/81316498
1 問題描述
CREATE?TABLE?`employees`?(
??`emp_no`?int(11)?NOT?NULL,
??`birth_date`?date?NOT?NULL,
??`first_name`?varchar(14)?NOT?NULL,
??`last_name`?varchar(16)?NOT?NULL,
??`gender`?enum('M','F')?NOT?NULL,
??`hire_date`?date?NOT?NULL,
??`age`?int(11)?NOT?NULL,
??PRIMARY?KEY?(`emp_no`),
??KEY?`unique_birth_name`?(`first_name`,`last_name`)?USING?BTREE
??)?ENGINE=InnoDB?DEFAULT?CHARSET=utf8;
unique_birth_name (first_name,last_name)?。使用以下語句:EXPLAIN?SELECT
????gender
FROM
????employees
ORDER?BY
????first_name,
????last_name

type:all?及?Extra:Using filesort?可得,索引沒有生效。EXPLAIN?SELECT
????gender
FROM
????employees
WHERE?first_name?>?'Leah'
ORDER?BY
????first_name,
????last_name

EXPLAIN?SELECT
????gender
FROM
????employees
WHERE?first_name?>?'Tzvetan'
ORDER?BY
????first_name,
????last_name

2 問題分析
SELECT
????COUNT(first_name)
FROM
????employees
ORDER?BY
????first_name,
????last_name

SELECT
????COUNT(first_name)
FROM
????employees
WHERE?first_name?>?'Leah'
ORDER?BY
????first_name,
????last_name

SELECT
????COUNT(first_name)
FROM
????employees
WHERE?first_name?>?'Tzvetan'
ORDER?BY
????first_name,
????last_name

3 總結(jié)
最近熱文閱讀:
1、有了 for (;;) ,為什么還需要while (true) ?到底哪個(gè)更快? 2、名企公開掛“加班真好”標(biāo)語,員工稱一年被免費(fèi)“白嫖”600多小時(shí)!網(wǎng)友看不下去了,稽查部門展開調(diào)查... 3、面試官:為什么 Java 不把基本類型放在堆中?我竟然答不上來。。 4、IDEA 注釋模板這樣搞! 5、后端開掛:3行代碼寫出8個(gè)接口! 6、推薦一款可視化配置 Nginx 的神器 7、一款性能調(diào)優(yōu)利器 — 火焰圖 8、Redis 實(shí)現(xiàn)限流的三種方式 9、推薦 15 款常用開發(fā)工具 10、一次 QPS 翻倍的 Java 服務(wù)性能優(yōu)化 關(guān)注公眾號(hào),你想要的Java都在這里
評(píng)論
圖片
表情
