優(yōu)化索引的T-SQL技巧
1. 應(yīng)用正確的索引給表創(chuàng)建主鍵時會自動創(chuàng)建聚集索引樹,表中的所有行會根據(jù)主鍵值在文件系統(tǒng)上進行物理排序。合理使用索引是優(yōu)化查詢性能的關(guān)鍵。2. 針對查詢優(yōu)化索引盡量避免全表掃描,應(yīng)該在where和o
1. 應(yīng)用正確的索引
給表創(chuàng)建主鍵時會自動創(chuàng)建聚集索引樹,表中的所有行會根據(jù)主鍵值在文件系統(tǒng)上進行物理排序。合理使用索引是優(yōu)化查詢性能的關(guān)鍵。
2. 針對查詢優(yōu)化索引
盡量避免全表掃描,應(yīng)該在where和order by涉及的列上建立索引。這樣可以大幅提高查詢效率。
3. 優(yōu)化null值判斷
應(yīng)盡量避免在where子句中對字段進行null值判斷,可以將null值設(shè)置為0,然后使用where num0來替代。
4. 合理使用or連接條件
應(yīng)避免在where子句中使用or來連接條件,可以考慮使用全文檢索來提高查詢效率。
5. 謹慎使用in和not in
查詢語句中in和not in也要慎用,能用between就盡量避免使用in關(guān)鍵字。
6. 創(chuàng)建適當?shù)母采w索引
確保每個表都有主鍵,創(chuàng)建適當?shù)母采w索引可以大幅提高查詢性能。可以使用數(shù)據(jù)庫調(diào)優(yōu)顧問來輔助創(chuàng)建索引。
7. 定期整理索引碎片
可以使用ALTER INDEX ALL ON TableName REORGANIZE或ALTER INDEX ALL ON TableName REBUILD WITH (FILLFACTOR90,ONLINEON)命令來整理索引碎片。
8. 優(yōu)化大事務(wù)操作
盡量避免大事務(wù)操作,提高系統(tǒng)并發(fā)能力,從而提高整體查詢性能。
T-SQL索引優(yōu)化實踐指南