1.作用:
(1)提高查询速度
(2)确保数据的唯一性
(3)可以加速表和表之间的链接,实现表与表 之间的参照完整性
(4)使用分组和排序子句进行数据检索时,可以显著减少分组和排序时间
(5)全文检索字段进行搜索优化
2.分类
(1)主键索引(PRIMARY KEY)
(2)唯一索引(UNIQE)
(3)常规索引(INDEX)
(4)全文索引(FULLTEXT)
3.主键索引
(1)主键:
某一个属性组能唯一标识一条记录
(2)特点:最常见的索引类型;
确保数据记录的唯一性;
语法:CREATE TABLE `表名`(
`GradeID` INT(11) AUTO_INCREMENT PRIMARY KEY,
#或PRIMARY KEY(`GradeID`)
)
4.唯一索引(UNIQUE)
(1)作用:避免同一个表中某数据列表中的值重复
(2)与主键索引的区别:主键索引只能有一个;
唯一索引可有多个
5.常规索引(INDEX)
(1)作用:快速定位特定数据
(2)注意:index和key关键字都可设置常规索引;
应加在查找条件的字段;
不宜添加太多常规索引,影响数据的插入、删除和修改操作
6.管理索引
(1)创建索引:创建表时添加;
建表后追加:ALERT TABLE表名ADD 索引类型(数据列名)
(2)删除索引:DROP INDEX 索引名 ON 表名
ALTER TABLE 表名 DROP INDEX 索引名
ALTER TABLE 表名 DROP PRIMARY KEY
(3)查看索引:SHOW INDEX(或KEYS) FROM 表名
7.索引准则
(1)索引不是越多越好
(2)不要对经常变动的数据加索引
(3)小数据量的表建议不要加索引
(4)索引一般应加在查找条件的字段
8.分析SQL语句的执行性能
(1)EXPLAIN 表名 (DESC 表名)
(2)EXPLAIN SELECT语句
注:使用\G结尾能竖排显示