MySQL 索引學(xué)習(xí)漫畫.md

給開發(fā)童鞋的索引學(xué)習(xí)漫畫

【轉(zhuǎn)載說明】此文章乃@小熊 童鞋獨(dú)立創(chuàng)作的,
經(jīng)@小熊允許@小峰童鞋微調(diào)并轉(zhuǎn)載的哦~
謝謝觀看~?( ′???` )比心



































1、MySQL 以主鍵值構(gòu)造一棵樹,葉子節(jié)點(diǎn)存放著該主鍵值對應(yīng)的的整行數(shù)據(jù)。此為聚簇索引。

2、其他的索引為輔助索引,葉子節(jié)點(diǎn)存放著索引字段的值及對應(yīng)的主鍵值。

3、一般情況下,單表查詢每次只能用一條索引。

4、where 條件字段的順序與索引順序無關(guān),MySQL 優(yōu)化器會自動調(diào)整順序。

5、對查詢 where 條件中區(qū)分度高的字段加索引。

6、通過索引掃描的行數(shù)超過全表 30% 時,變?nèi)頀呙琛?/p>

7、聯(lián)合索引,葉子節(jié)點(diǎn)存儲的順序以創(chuàng)建時指定的順序?yàn)闇?zhǔn),因此區(qū)分度高字段的放左邊,能被多個查詢復(fù)用到的放左邊。

8、只 select 需要用到的字段,避免 select * 。

9、如有必要,可使用 USE/FORCE/IGNORE INDEX 強(qiáng)制索引 。

10、多表 join ,先按各表的查詢條件比較哪個開銷小,從小表取出所有符合條件的,到大表循環(huán)查找。

11、以下情況無法使用到索引:
like通配符在最左如:like '%dd', not in , != , <> ,對列做函數(shù)運(yùn)算,隱式數(shù)據(jù)類型轉(zhuǎn)換, or 子句。

對不確定執(zhí)行計(jì)劃的關(guān)鍵語句 select/update/delete ,上線前都務(wù)必進(jìn)行 explain
,查看索引是否合適喲~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容