mysql慢sql最佳化

來源:互聯網
上載者:User

標籤:arc   資料   資訊   rom   說明   資料量   ike   tab   函數   

影響sql查詢慢的因素

1、沒有索引或則無效索引導致的全表掃描。
2、表的資料量和關聯的表數量。

致索引無效的情況

1、表關聯查詢時,欄位類型或長度不一致。如:varchar(10)和varchar(20)
2、查詢參數的資料類型與索引欄位類型不一致。如int = ‘1313‘
3、in () 索引欄位in查詢時,通常是有效。但是當in中指定的資料太多,最佳化器認為全表掃描更快時,也不會使用索引。
4、其他如:like、索引上使用函數等使索引失效。

sql的執行順序

from>join>on>where>group by>avg/sum>having>select>distinct>order by > limit

最佳化過程

最佳化的重點:使sql每一步篩選的資料更少,更快。
1、通過explain sql擷取的資訊:
第一個執行查詢的表;索引的使用方式;每張表掃描到的資料條數;

2、通過select count(distinct cl)/count(1) from table,來查詢關鍵查詢欄位的選擇性。越大說明選擇性越高,這種欄位就應該優先建立索引。

3、analyze table 根據情況,分析table使其索引重建或則分布更加均衡。

4、如果查詢最佳化後,反應出來的資料仍然很多,查詢很慢。這時就應該根據業務來調整查詢條件。

mysql慢sql最佳化

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.