MySQL索引原則和慢查詢優化步驟

 

建索引的幾大原則

    1.最左前綴匹配原則,mysql會一直向右匹配直到遇到範圍查詢(>、<、between、like)就中止匹配。html

    2.=和in能夠亂序,好比a = 1 and b = 2 and c = 3 創建(a,b,c)索引能夠任意順序,mysql的查詢優化器會幫你優化成索引能夠識別的形式mysql

    3.儘可能選擇區分度高的列做爲索引,count(distinct col)/count(*),通常須要join的字段咱們都要求是0.1以上,即平均1條掃描10條記錄sql

    4.索引列不能參與計算;優化

    5.儘可能的擴展索引,不要新建索引。好比表中已經有a的索引,如今要加(a,b)的索引,那麼只須要修改原來的索引便可spa

慢查詢優化基本步驟

    0.先運行看看是否真的很慢,注意設置SQL_NO_CACHE.net

    1.where條件單表查,鎖定最小返回記錄表。這句話的意思是把查詢語句的where都應用到表中返回的記錄數最小的表開始查起,單表每一個字段分別查詢,看哪一個字段的區分度最高htm

    2.explain查看執行計劃,是否與1預期一致(從鎖定記錄較少的表開始查詢)blog

    3.order by limit 形式的sql語句讓排序的表優先查排序

    4.瞭解業務方使用場景索引

    5.加索引時參照建索引的幾大原則

    6.觀察結果,不符合預期繼續從0分析

 

MySQL索引原理及慢查詢優化:https://tech.meituan.com/mysql-index.html

相關文章
相關標籤/搜索