mysql如何創建多個聯合索引

mysql創建多個聯合索引的方法:可以使用CREATE INDEX或ALTER table語句來創建。在創建聯合索引時,應該仔細考慮列的順序。

mysql如何創建多個聯合索引

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)

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊14 分享