索引類型:
1、普通索引
create index index_name on test_table(column_name(length));
2、唯一索引,可以有空值
create unique index index_name on test_table(column_name(length));
3、主鍵索引,不能有空
4、組合索引,遵循“最左前綴”
create index index_name on test_table(column_name1(10),column_name2,column_name3);
建表時,column_name1長度為 16,這裡用 10。這是因為一般情況下名字的長度不會超過10,這樣會加速索引查詢速度,還會減少索引文件的大小,提高INSERT的更新速度。
如果分別在 column_name1,column_name2,column_name3上建立單列索引,讓該表有3個單列索引,查詢時和上述的組合索引效率也會大不一樣,遠遠低於我們的組合索引。雖然此時有了三個索引,但MySQL只能用到其中的那個它認為似乎是最有效率的單列索引。
建立這樣的組合索引,其實是相當於分別建立了下面三組組合索引:
(column_name1,column_na
MySQL只對<,<=,=,>,>=,BETWEEN,IN,以及某些時候的LIKE才會使用索引