九. 索引
9.1 索引简介
1、索引概念:索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可以提高数据库中特定数据的查询速度。
2、索引的分类:
- B-tree索引:比较常用,适合处理能够按顺序存储的数据,可以使用
create index创建; - Hash索引:只能处理简单的等于比较;
- GiST索引:不是单独的一种索引类型,而是一种架构,可以在这种架构上实现很多不同的索引策略;
- GIN索引:是反转索引,可以处理包含多个键的值(比如数组)
3、索引的设计原则:
- 索引并非越多越好;
- 避免对经常更新的表进行过多的索引;
- 数据量小的表最好不要使用索引;
- 当唯一性是某种数据本身的特征时,指定唯一索引。
9.2 创建索引
1、创建普通索引
【例9.1】在book表中的bookname字段上建立名为bknameidx的普通索引,SQL语句如下:
CREATE INDEX bknameidx ON book(bookname);
语句执行完毕之后,将在book表中创建名称为bknameidx的普通索引。
2、创建唯一索引
【例9.2】在book表的bookId字段上建立名称为uniqididx 的唯一索引,SQL语句如下:
CREATE UNIQUE INDEX uniqididx ON book ( bookId );
3、创建单列索引
【例9.3】在book表的comment字段上建立单列索引,SQL语句如下:
CREATE INDEX Bkcmtidx ON book(comment);
语句执行完毕之后,将在book表的comment字段上建立一个名为bkcmtidx的单列索引。
4、创建组合索引
【例9.4】在book表的authors和info字段上建立组合索引,SQL语句如下:
CREATE INDEX bkauandinfoidx ON book ( authors,info);
9.3 重命名索引
【例9.5】将上面修改的索引名称重新修改过来,SQL语句如下:
ALTER INDEX public.bkauandinfoidxx RENAME TO bkauandinfoidx;
9.4 删除索引
【例9.6】删除book表中名称为bkauandinfoidx的组合索引,SQL语句如下:
DROP INDEX bkauandinfoidx;
数据库索引详解
1万+

被折叠的 条评论
为什么被折叠?



