目標:
-
掌握索引、分類、優劣勢
-
使用命令創建、查看、刪除索引
-
理解索引的原理和存儲結構
索引創建
- 單列索引之普通索引
CREATE INDEX index_name ON table(column(length)) ;
ALTER TABLE table_name ADD INDEX index_name (column(length)) ;
- 單列索引之唯一索引
CREATE UNIQUE INDEX index_name ON table(column(length)) ;
alter table table_name add unique index index_name(column);
- 單列索引之全文索引
CREATE FULLTEXT INDEX index_name ON table(column(length)) ;
alter table table_name add fulltext index_name(column)
- 組合索引
ALTER TABLE article ADD INDEX index_titme_time (title(50),time(10)) ;
刪除索引
DROP INDEX index_name ON table
查看索引
SHOW INDEX FROM table_name \G
什麼時候創建索引
- 經常用作查詢條件的字段
- 經常用作表連接的字段
- 經常出現在 order by,group by 之後的字段
創建索引有哪些需要注意的?
- 非空字段 NOT NULL,Mysql 很難對空值作查詢優化
- 區分度高,離散度大,作爲索引的字段值儘量不要有大量相同值
- 索引的長度不要太長(比較耗費時間)