建索引原則

索引原則
(1) 必須要有主鍵,如果沒有可以做為主鍵條件的列,創(chuàng)建無關(guān)列
(2) 經(jīng)常做為where條件列 order by group by join on, distinct 的條件(業(yè)務(wù):產(chǎn)品功能+用戶行為)
(3) 最好使用唯一值多的列作為索引,如果索引列重復(fù)值較多,可以考慮使用聯(lián)合索引
(4) 列值長度較長的索引列,我們建議使用前綴索引.
(5) 降低索引條目,一方面不要創(chuàng)建沒用索引,不常使用的索引清理,percona toolkit(xxxxx)
(6) 頻繁更新的列,不適合做索引列。
(7) 索引維護(hù)要避開業(yè)務(wù)繁忙期,pt-tools

面試題:有索引,為什么查詢效率還很低?

  1. 有索引沒走
  2. 聯(lián)合索引沒有完全覆蓋
  3. 索引失效或者統(tǒng)計信息不真實
  4. 索引列的重復(fù)值太多

如何排查和解決此類問題:

  1. 先看這個語句的執(zhí)行計劃
    table,type,key_len判斷聯(lián)合索引的覆蓋長度,extra,額外排序
    rows 重復(fù)值 ------>
  2. 沒有索引建立索引,改語句。
檢查索引
optimize table city;
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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