您好,登錄后才能下訂單哦!
1、沒有索引或則無效索引導致的全表掃描。
2、表的數據量和關聯的表數量。
1、表關聯查詢時,字段類型或長度不一致。如:varchar(10)和varchar(20)
2、查詢參數的數據類型與索引字段類型不一致。如int = '1313'
3、in () 索引字段in查詢時,通常是有效的。但是當in中指定的數據太多,優化器認為全表掃描更快時,也不會使用索引。
4、其他如:like、索引上使用函數等使索引失效。
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、如果查詢優化后,反應出來的數據仍然很多,查詢很慢。這時就應該根據業務來調整查詢條件。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。