1.選擇列,select *會進行全字段掃描,效率低,因此儘量指定字段
2.where condition1 and condition2,where條件字句的解析順序:從右到左;因此對於and,應該儘量把假的放在右邊,對於or,應該儘量把真的放在右邊
3.一般根據需求來選擇,如果將函數放在字段上,會爲每行的該字段進行轉換,效率會比較低一些;建議將轉換函數放在固定值上面(好處之一就是隻需要轉換一次,還有一個好處就是不知道用戶輸入的是大小寫還是混合寫,更適合業務)
4.使用having字句進行過濾,是先進行分組再過濾,分組的時候是全表掃描的,效率比較低
使用where字句進行過濾,是先進行過濾再分組,分組的時候是僅僅掃描部分數據,效率比較高
5.count(1)比count(*)的查詢效率高
6.使用表名前綴可以提高執行效率–sql性能優化方案
7.使用索引可以增加查詢的效率(索引有時也會失效,條件上使用用<>,like和‘%aa%’)