溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

mysql慢sql優(yōu)化

發(fā)布時間:2020-02-22 08:16:21 來源:網絡 閱讀:1786 作者:乾坤刀 欄目:MySQL數據庫

影響sql查詢慢的因素

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

致索引無效的情況

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

sql的執(zhí)行順序

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

優(yōu)化過程

優(yōu)化的重點:使sql每一步篩選的數據更少,更快。
1、通過explain sql獲取的信息:
第一個執(zhí)行查詢的表;索引的使用情況;每張表掃描到的數據條數;

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

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

4、如果查詢優(yōu)化后,反應出來的數據仍然很多,查詢很慢。這時就應該根據業(yè)務來調整查詢條件。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI