提高查询效率,高效查看索引(index),主键自带索引,提高查询效率
分类:
-
单值索引:一个索引只包含一个列 -
唯一索引:值不能相同 -
复合索引:一个索引包含多个
查看索引:
show index from 表名;
- explain 使用索引
索引:主键自带索引,提高查询效
创建索引:单值索引
语法:create index 索引名字 no 表名(字段名)
使用索引:背后的故事,按照索引去查
SHOW INDEX FROM emp; CREATE INDEX enname_index ON emp(ename); SHOW INDEX FROM emp; SELECT * FROM emp WHERE ename ='lisa'; EXPLAIN SELECT * FROM emp WHERE ename ='lisa'
创建唯一索引
语法:create unique index 名称 on 表名(字段名)
使用唯一索引:
- explain
- selecte * from 表名 where 字段名=值
CREATE UNIQUE INDEX empno_index ON emp(empno); EXPLAIN SELECT * FROM emp WHERE empno=110
创建复合索引:
#使用复合索引,遵循最左特性
语法:create index 索引名 on 表名(字段1,字段2...)
- 代码:
CREATE INDEX unir ON emp(sal,comm); EXPLAIN SELECT * FROM emp WHERE sal=110 AND comm=212 #有效 SELECT * FROM emp WHERE comm=4677; #失效 SELECT * FROM emp WHERE sal=110; #有效
删除索引
语法:alter table 表名 drop index 索引名
ALTER TABLE emp DROP INDEX unir