混合索引_数据库面试题:查询在什么情况下不?索引-数据库知识点
查詢在什么情況下不?索引
數據庫面試題
?先,我們可以說通過explain去排查?個慢查詢,進?找到它的索引(參看第五題),當創建索引卻不?索引時,我們就需要考慮到優化器的問題。
在?條單表查詢語句真正執?之前,MySQL的查詢優化器會找出執?該語句所有可能使?的?案,對就是所謂的執?計劃。優化過程?致如下:
1.根據搜索條件,找出所有可能使?的索引
2.計算全表掃描的代價
3.計算使?不同索引執?查詢的代價
4.對?各種執??案的代價,找出成本最低的那?個
那么,有哪?種情況明明設了索引卻不?索引呢?
假設索引為 (a,b,c)
ASC 和 DESC 索引混合使?的排序: select *
from tab order by a, b desc limit 10;
違背最左前綴原則: select * from tab where
b = '1';
WHERE ?句中出現?排序使?到的索引列:
select * from tab d = '1' order by a limit 10;
排序列包含?同?個索引的列: select * from tab order by a, d limit 10;
WHERE ?句中出現計算: select * from tab
where a * 4 = 2;
WHERE ?句中出現 null 值: select * from
tab where a = null;
WHERE ?句中使? != 或 <> 操作符:
select * from tab where a != 1;
以上就是酷仔今天整理提供的MySQL面試題,希望為學習MySQL的同學提供了有用的面試素材,以后酷仔每日均會提供MySQL、Python及Web相關的習題。
總結
以上是生活随笔為你收集整理的混合索引_数据库面试题:查询在什么情况下不?索引-数据库知识点的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何复制粘贴_年终工作总结如何写?复制粘
- 下一篇: php和java整合开发实战_PHP和J