一、简介
索引是一个单独的、存储在磁盘上的数据库结构,包含对数据表里所有记录的引用指针。使用索引可快速找出在某个或多个列中有一特定值的行。
二、优缺点
优点:
1.大大加快数据的查询速度
2.唯一索引可以保证数据库表每一行的唯一性
3.加速表连接时间
缺点:
1.创建、维护索引要耗费时间
2.索引需占磁盘空间
3.对表进行更新操作时,索引也要动态维护,降低了维护速度
三、类别
1.普通索引和唯一索引
2.单列索引和多列索引
3.全文索引
4.空间索引
注意:MySQL中只有MyISAM存储引擎支持全文索引和空间索引
四、设计原则
1.索引并非越多越好
2.对经常用于查询的列创建索引,避免对经常更新的列创建过多索引
3.在不同值较多的列建立索引
4.在频繁进行排序或分组的列上建立索引
五、创建索引
1.普通索引:
create table book (
bookid int not null,
bookname varchar(255) not null,
index booknameindex(bookname)
);
2.唯一索引
create table book (
bookid int not null,
bookname varchar(255) not null,
unique index bookidindex(bookid)
);
3.组合索引
create table book (
bookid int not null,
bookname varchar(255) not null,
index multiindex(bookid,bookname)
);
4.已存在表加索引
create index booknameindex on book(bookname)
或
alter table book add index booknameindex(bookname)
六、删除索引
drop index booknameindex on book