索引
索引存在于对应的索引文件中
索引的本质:
就是一组排好顺序的数据
作用
1.在索引数据中进行排序时,可避免再次排序
2.在索引数据中对数据行进行定位 时,避免全表扫描
索引文件的位置
1.如果当前表是依赖于innodb存储引擎,索引存在FRM中
2.如果当前表依赖于MYISAM存储引擎,索引存在MYI中
索引基本操作
1.查看表文件中已经存在的索引
SHOW INDEX FROM 表中索引
2.创建索引
CREATE INDEX 索引名 ON 表名(字段)
3.删除索引
drop index 索引名 on 表名
主键索引:
如果当前表中字段加了主键约束,mysql主动的将当前字段上数据进行排序,其生成的索引被称为主键索引
唯一性索引:
如果当前表字段中添加了唯一性索引,mysql主动的将当前字段上的数据继续宁排序,其生成的索引被称为唯一性索引。
唯一性索引不包括NULL
普通索引:
如果当前表文件中没有添加任何索引此时在这个字段中创建的索引就是普通索引
执行效率
主键索引 > 唯一性索引 >普通索引
单字段索引与复合索引
单字段索引创建
create index 索引名 on 表名(字段名)
复合索引
create index 索引名 on 表名(字段名1,字段名2,字段名3)