對于百萬千萬量級别的資料進行查詢,如果查詢方式不合理的話,會嚴重影響系統的運作性能及伺服器的壓力。
常見優化查詢的方案有如下:
1,對查詢進行優化,應盡量避免全表掃描,首先應考慮在where及order by 涉及的列上建立索引。
2,應盡量避免在where子句中進行null的判斷,否則将導緻查詢放棄進行索引進行全表掃描。可以在null上設預設值為0。
3,盡量避免在where子句中使用or來連接配接條件,否則将導緻查詢放棄進行索引進行全表掃描,可以考慮使用union all替換。
4,in 和not in 要慎用,否則會導緻全表掃描。能用between則不用in。
5,避免使用Like 來進行模糊查詢,可以考慮使用全文檢索。
6,盡量避免在where子句中使用!=或<>操作符,否則會導緻全表掃描。
7,使用視圖加速查詢。
8,能用distinct 則不用group by。
9,能用union all 則不用union。
10,避免在where子句中進行函數操作。
。。。