增進SQL查詢速度的方式 , SARGs
- 最佳化where子句需符合 SARGs規範 , 否則DB易掃描所有資料影響查詢速度 , 查詢速度也跟索引有關 , 為能利用索引搜尋資料 , 就要下正確的SQL方式 , 符合 SARGs規範
- Like不用%開頭當搜尋條件
- 錯誤 select * from A where B like ' %2 '
- 不對欄位做運算
- 錯誤 select * from A where B+1='2'
- 正確 select * from A where B='2'
- 負向查詢
- 錯誤 select * from A where B != 0
- 正確 select * from A where B>0 and B<0
- 不要對資料欄位使用函數
- 錯誤1 select * from A where substring(B,1,1)='3'
- 正確1 select * from A where B like '3%'
- 正確1 select * from A where B >='3' and B < '4'
- 錯誤2 select * from A where abs(A-100) < 1
- 正確2 select * from A where B > 99 and B < 101
- 使用 OR 運算子查詢時 需每個欄位皆有索引 , 才能增進查詢速度
沒有留言:
張貼留言