作用
- 提高查询速度,确保数据的唯一性
- 加速表和表支架的连接,实现表与表之间的参照完整性
- 分组和排序子句进行数据检索时,可以减少分组和排序的时间
- 全文检索字段进行搜索优化
列举索引
SHOW INDEX FROM 表名 ;
分类
主键索引( PRIMARY KEY )
主键索引是最常见的索引类型,确保数据记录的唯一性,确定特定数据记录在数据库中的位置。主键索引只能有一个
CREATE TABLE `表名`(`GradeID` INT(11) AUTO_INCREMENT PRIMARY KEY ,# 或 PRIMARY KEY(`GrideID`)) ;
唯一索引( UNIQUE )
唯一索引避免同一个表中某数据列中的值重复。唯一索引可有多个
CREATE TABLE `表名`(`GradeID` INT(11) AUTO_INCREMENT PRIMARY KEY ,`GradeName` VARCHAR(32) NOT NULL UNIQUE,# 或 UNIQUE KEY `GrideID` (`GrideID`)) ;
常规索引( INDEX )
快速定位特定数据,INDEX 和 KEY 关键字都可设置常规索引,加在查找条件的字段上
# 创建表时添加CREATE TABLE `表名`(INDEX/KEY `ind` (`studentNO`, 'subjectNO')) ;# 创建后追加ALTER TABLE `表名` ADD INDEX `索引名` (`studentNO`, 'subjectNO') ;
不宜添加太多常规索引,影像数据的插入、删除和修改操作
全文索引( FULLTEXT )
只能用于 MyISAM 类型的数据表和大型数据集
CREATE TABLE `表名`(FULLTEXT (`studentNO`, 'subjectNO')) ENGINE=MUISAM ;
只能用于 CHAR、VARCHAR、TEXT 数据列类型
删除索引
DROP INDEX 索引名/字段 ON 表名 ;
补充
索引不取索引名称,默认使用列名就是索引名
