mysql建立多個聯合索引的方法:可以使用CREATE INDEX或ALTER TABLE語句來建立。在建立聯合索引時,應該仔細考慮列的順序。
MySQL中索引規則:
(推薦教學:mysql影片教學)
1、需要加索引的字段,要在where條件中
2、資料量較少的字段不需要加索引
3、如果where條件中是OR關係,加上索引不起作用
4、符合最左原則
什麼是聯合索引?
聯合索引又叫複合索引。對於複合索引,Mysql從左到右的使用索引中的字段,一個查詢可以只使用索引中的一部分,但只能是最左側部分。例如索引是key index (a,b,c). 可以支援a | a,b| a,b,c 3種組合尋找,但不支援b,c進行查找.當最左側欄位是常數引用時,索引就十分有效。
兩個或更多個列上的索引被稱為複合索引
利用索引中的附加列,您可以縮小搜尋的範圍,但使用一個具有兩個欄位的索引不同於使用兩個單獨的索引。複合索引的結構與電話簿類似,人名由姓和名構成,電話簿首先按姓氏對進行排序,然後按名字對有相同姓氏的人進行排序。如果您知道 道姓,電話簿將非常有用;如果您知道姓和名,電話簿則更為有用,但如果您只知道名不姓,電話簿將沒有用處。
所以說創建複合索引時,應該仔細考慮列的順序。對索引中的所有欄位執行搜尋或僅對前幾列執行搜尋時,複合索引非常有用;僅對後面的任意列執行搜尋時,複合索引則沒有用處。
索引的建立:
在執行CREATE TABLE語句時可以建立索引,也可以單獨用CREATE INDEX或ALTER TABLE來為表增加索引。
案例DEMO:
ALTER TABLE table_name ADD INDEX index_name (column_list) ALTER TABLE table_name ADD UNIQUE (column_list) ALTER TABLE table_name ADD PRIMARY KEY (column_list) CREATE INDEX index_name ON table_name (column_list) CREATE UNIQUE INDEX index_name ON table_name (column_list)
以上是mysql如何建立多個聯合索引的詳細內容。更多資訊請關注PHP中文網其他相關文章!