mysql單個索引和聯合索引的區別

2021-08-16 05:41:49 字數 572 閱讀 7203

聯合索引和單個索引的區別:

如果我們建立了(area, age,salary)的復合索引,那麼其實相當於建立了:

(area,age,salary),(area,age)、(area)三個索引,這被稱為最佳左字首

特性。因此我們在建立復合索引時應該將最常用作限制條件的列放在最左邊,依次遞減。

例:select * from test where area='11'

select * from test where area='11' and age=1

select * from test where area='11' and age=1 and salary=2.0

以上有索引

select * from test where age=11

select * from test where age=1 and salary=2.0

以上無索引

-----------------------------------

如果在查詢中需要匹配多個欄位的條件,可以把這幾個欄位做個聯合索引,效率要比在每個欄位上加索引高多了

聯合索引和單個索引的區別

聯合索引和單個索引的區別 如果我們建立了 area,age,salary 的復合索引,那麼其實相當於建立了 area,age,salary area,age area 三個索引,這被稱為最佳左字首 特性。因此我們在建立復合索引時應該將最常用作限制條件的列放在最左邊,依次遞減。例 select fro...

聯合索引和單個索引使用注意事項

聯合索引 通俗理解 利用索引中的附加列,您可以縮小搜尋的範圍,但使用乙個具有兩列的索引 不同於使用兩個單獨的索引。復合索引的結構與 簿類似,人名由姓和名構成,簿首先按姓氏對進行排序,然後按名字對有相同姓氏的人進行排序。如果您知道姓,簿將非常有用 如果您知道姓和名,簿則更為有用,但如果您只知道名不姓,...

MySQL單列索引和聯合索引

所有的mysql列型別能被索引。在相關的列上的使用索引是改進select操作效能的最好方法。乙個表最多可有16個索引。最大索引長度是256個位元組,儘管這可以在編譯mysql時被改變。對於char和varchar列,你可以索引列的字首。這更快並且比索引整個列需要較少的磁碟空間。在create tab...