日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

什么是联合索引?

發布時間:2025/5/22 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 什么是联合索引? 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

是指對表上的多個列進行索引,聯合索引也是一棵B+樹,不同的是聯合索引的鍵值數量不是1,而是大于等于2.

最左匹配原則
假定上圖聯合索引的為(a,b)。聯合索引也是一棵B+樹,不同的是B+樹在對索引a排序的基礎上,對索引b排序。所以數據按照(1,1),(1,2)…順序排放。

對于selete * from table where a=XX and b=XX,顯然是可以使用(a,b)聯合索引的,

對于selete * from table where a=XX,也是可以使用(a,b)聯合索引的。因為在這兩種情況下,葉子節點中的數據都是有序的。

但是,對于b列的查詢,selete * from table where b=XX。則不可以使用這棵B+樹索引。可以發現葉子節點的b值為1,2,1,4,1,2。顯然不是有序的,因此不能使用(a,b)聯合索引。

By the way:selete * from table where b=XX and a=XX,也是可以使用到聯合索引的,你可能會有疑問,這條語句并不符合最左匹配原則。這是由于查詢優化器的存在,mysql查詢優化器會判斷糾正這條sql語句該以什么樣的順序執行效率最高,最后才生成真正的執行計劃。所以,當然是我們能盡量的利用到索引時的查詢順序效率最高咯,所以mysql查詢優化器會最終以這種順序進行查詢執行。

優化:在聯合索引中將選擇性最高的列放在索引最前面。

例如:在一個公司里以age 和gender為索引,顯然age要放在前面,因為性別就兩種選擇男或女,選擇性不如age。

總結

以上是生活随笔為你收集整理的什么是联合索引?的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。