1、沒有索引或則無效索引導致的全表掃描。
2、表的數據量和關聯(lián)的表數量。
創(chuàng)新互聯(lián)建站是一家專注于成都做網站、成都網站建設、成都外貿網站建設與策劃設計,卓尼網站建設哪家好?創(chuàng)新互聯(lián)建站做網站,專注于網站建設十余年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:卓尼等地區(qū)。卓尼做網站價格咨詢:028-86922220
1、表關聯(lián)查詢時,字段類型或長度不一致。如:varchar(10)和varchar(20)
2、查詢參數的數據類型與索引字段類型不一致。如int = '1313'
3、in () 索引字段in查詢時,通常是有效的。但是當in中指定的數據太多,優(yōu)化器認為全表掃描更快時,也不會使用索引。
4、其他如:like、索引上使用函數等使索引失效。
from>join>on>where>group by>avg/sum>having>select>distinct>order by > limit
優(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è)務來調整查詢條件。