mysql一組合索引

2021-09-10 17:59:56 字數 580 閱讀 2092

命名規則:表名_欄位名

1、需要加索引的字段,要在where條件中

2、資料量少的字段不需要加索引

3、如果where條件中是or關係,加索引不起作用

4、符合最左原則

聯合索引又叫復合索引。

對於復合索引:mysql從左到右的使用索引中的字段,乙個查詢可以只使用索引中的一部份,但只能是最左側部分。

例如索引是key index (a,b,c). 可以支援a|a,b|a,b,c3種組合進行查詢,但不支援 b,c進行查詢 .當最左側欄位是常量引用時,索引就十分有效。

復合索引的結構與**簿類似,人名由姓和名構成,**簿首先按姓氏對進行排序,然後按名字對有相同姓氏的人進行排序。如果您知 道姓,**簿將非常有用;如果您知道姓和名,**簿則更為有用,但如果您只知道名不姓,**簿將沒有用處。

所以說建立復合索引時,應該仔細考慮列的順序。對索引中的所有列執行搜尋或僅對前幾列執行搜尋時,復合索引非常有用;僅對後面的任意列執行搜尋時,復合索引則沒有用處。

20 組合索引的使用

為什麼有最左原則?例如你這個聯合索引是 state city zipcode 那麼state就是第一關 city是第二關,zipcode就是第三關 你必須匹配了第一關,才能匹配第二關,匹配了第一關和第二關,才能匹配第三關 你不能直接到第二關的 索引的格式就是第一層是state,第二層才是city 多...

MySQL 九 組合查詢 UNION

mysql允許執行多個查詢 多條select語句 並將結果作為單個 查詢結果集返回。這些組合查詢通常稱為並 union 或復合查詢 compound query 有兩種基本情況,其中需要使用組合查詢 組合查詢和多個where條件多數情況下,組合相同表的兩個查詢完成的工作與具有多個where子句條件的...

Mysql(九)組合查詢UNION

某些情況下,我們需要在多個表中查詢資料。例 select ts code from basiclevel where level 0 union select ts code from stockbasicdata where total income 0 order by ts code 該語句就...