聯合索引和唯一索引


背景:目前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 條件中的任何位置,而聯合索引需要按一定的順序來寫.


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM