背景:目前WEB的普及太快,很多網站都會因為大流量的數據而發生服務器習慣性死機,一個查詢語句只能適用於一定的網絡環境.沒有優化的查詢當遇上大數據量時就不適用了.
聯合索引使用結論:
1):查詢條件中出現聯合索引第一列,或者全部,則能利用聯合索引.
2):條件列中只要條件相連在一起,以本文例子來說就是:
last_name=’1′ and first_name=’1′
與
first_name=’1′ and last_name=’1′
,無論前后,都會利用上聯合索引.
3):查詢條件中沒有出現聯合索引的第一列,而出現聯合索引的第二列,或者第三列,都不會利用聯合索引查詢.
單一列索引的應用結論:
1):只要條件列中出現索引列,無論在什么位置,都能利用索引查詢.
兩者的共同點:
1):要想利用索引,都要符合SARG標准.
2) :都是為了提高查詢速度.
3):都需要額外的系統開銷,磁盤空間.
補充說明: stmtText信息來產生,在查詢語句前面加上:SET STATISTICS PROFILE on.可以通過運行它,來觀察你的查詢是否合理,這樣才能真正做到優化.
本文主旨:討論什么情況下能利用上索引.
索引:創建索引可以根據查詢業務的不同分為兩種:單一列的索引,聯合索引. 顧名思義,單一列索引就是指在表的某一列上創建索引,聯合索引是在多個列上聯合創建索引.
優缺點比較:
1):索引所占用空間:單一列索引相對要小.
2):索引創建時間:單一列索引相對短.
3):索引對insert,update,delete的影響程序:單一列索引要相對低.
4):在多條件查詢時,聯合索引效率要高.
索引的使用范圍:單一列索引可以出現在where 條件中的任何位置,而聯合索引需要按一定的順序來寫.