目标:
-
掌握索引、分类、优劣势
-
使用命令创建、查看、删除索引
-
理解索引的原理和存储结构
索引创建
- 单列索引之普通索引
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 很难对空值作查询优化
- 区分度高,离散度大,作为索引的字段值尽量不要有大量相同值
- 索引的长度不要太长(比较耗费时间)