什么是聯合索引?


概念

包含兩列或更多列以上的索引,稱為聯合索引;同時又被稱為復合索引。

結構圖

匹配規則

1、聯合索引結構上的葉子節點包含了多個索引列。
如上圖中所示包含:年齡(age)姓(firstname)名(lastname)

2、在聯合索引匹配過程中,首先會將聯合索引中的第一個索引條件和節點中的第一個索引列進行匹配。
如果匹配成功,那么接着匹配第二個索引條件和第二個索引列。依次類推,直到所有的索引條件都完成匹配。

假設 SQL 語句如下:
select * from user where age = 12 and firstname like '%李';
開始匹配第一個索引條件 age ,如果搜索到 age = 15 這個索引值時,就進行下一個索引條件 firstname 的匹配,當搜索到 firstname = 王安 這個索引值時,已經不滿足索引條件了,並且沒有了第三個索引條件,至此索引匹配就結束了。

總結

本文主要是介紹了聯合索引的定義,以及聯合索引的存儲結構。還通過舉例,來說明聯合索引的具體匹配規則。
在我們實際編寫 SQL 語句的過程中,可能會出現某一個索引條件和節點中的索引列位置不一致的情況。如果出現
這一種情況,那么只會匹配部分的索引列,就提前結束索引的匹配了。我們將會在下一篇文章中介紹聯合索引的 "最左匹配原則"。


免責聲明!

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



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