一.什么是索引?
- 举例:索引就如同一本书的目录,方便数据库更快的寻找的指定数据,但索引本身是占用存储空间的,需要合理使用索引
- 作用:
提高查询速度
确保数据的唯一性
可以加速表和表之间的连接,实现表与表之间的参照完整性
使用分组和排序子句进行数据检索时,可以显著减少分组和排序的时间
全文检索字段进行搜索优化
二.索引的分类
- 主键索引:primary key
特点:字段内容唯一且每张表只能有一个主键 - 唯一索引: unique
特点:字段内容保存唯一但可以同时存在多个unique - 常规索引:index
特点:快速定位特点数据
不宜添加太多常规索引,影响数据的插入、删除和修改操作 - 全文索引:fulltext
特点:只能用于MyISAM类型的数据表以及 CHAR 、 VARCHAR、TEXT数据列类型
适合大型数据集
三.管理索引
- 创建索引
ALERT TABLE 表名 ADD 索引类型(数据列名); - 删除索引
DROP INDEX 索引名 ON 表名 //更常用
ALTER TABLE 表名 DROP INDEX 索引名
ALTER TABLE 表名 DROP PRIMARY KEY - 查看索引
SHOW INDEX(或KEYS) FROM 表名
四.索引准则
- 索引不是越多越好
- 不要对经常变动的数据加索引
- 小数据量的表建议不要加索引
- 索引一般应加在查找条件的字段