mysql索引 錢綴 mysql索引最優左字首

2021-10-18 11:52:42 字數 835 閱讀 8683

mysql 在使用聯合索引時會有乙個最優左字首的乙個原則

其實就是 where條件後跟隨的多個條件字段使用復合索引的乙個規則(引用別人的一句話:帶頭大哥不能死,中間兄弟不能斷)

比如 user表  字段 id  name age  salary    建立復合索引 (name age  salary )

當建立(a,b,c)復合索引時,相當於建立了(a)單列索引,(a,b)組合索引以及(a,b,c)組合索引

想要索引生效的話,只能使用 a和a,b和a,b,c三種組合

1.有帶頭大哥

select * from user where name='qiaofeng' and age= 28 and salary = 11000

此時是走索引的

2.有帶頭大哥,有中間兄弟

select * from user where name='qiaofeng' and age= 28

此時是走索引的

3.有帶頭大哥,沒有中間兄弟

select * from user where name='qiaofeng' and and salary = 11000

此時只有name欄位走索引的, 而salary不走索引

4.沒有帶頭大哥

select * from user where  age= 28 and and salary = 11000

此時是沒有匹配索引的

另外,where後條件字段順序不按照索引順序 也是沒問題的,因為mysql 在查詢時會自動根據欄位的最大化的匹配索引

select * from user where age= 28 and name='qiaofeng'  也是走索引的

mysql索引 錢綴 mysql字串字首索引

比如,這兩個在 email 欄位上建立索引的語句 mysql alter table suser add index index1 email 或mysql alter table suser add index index2 email 6 第乙個語句建立的 index1 索引裡面,包含了每個記錄...

mysql 雜湊索引 MySQL索引之雜湊索引

雜湊索引 hash index 建立在雜湊表的基礎上,它只對使用了索引中的每一列的精確查詢有用。對於每一行,儲存引擎計算出了被索引的雜湊碼 hash code 它是乙個較小的值,並且有可能和其他行的雜湊碼不同。它把雜湊碼儲存在索引中,並且儲存了乙個指向雜湊表中的每一行的指標。在mysql中,只有me...

mysql主鍵索引 MySQL索引之主鍵索引

在mysql裡,主鍵索引和輔助索引分別是什麼意思,有什麼區別?上次的分享我們介紹了聚集索引和非聚集索引的區別,本次我們繼續介紹主鍵索引和輔助索引的區別。1 主鍵索引 主鍵索引,簡稱主鍵,原文是primary key,由乙個或多個列組成,用於唯一性標識資料表中的某一條記錄。乙個表可以沒有主鍵,但最多只...