postgres讲义14_创建索引

索引是用于加速从数据库检索数据的特殊查找表

特点

索引使用SELECT查询和WHERE子句加速数据输出,但是会减慢使用INSERTUPDATE语句输入的数据。

可以创建一个唯一索引,类似于唯一约束,该索引防止列或列的组合上有一个索引重复的项.

几种索引类型,如B-treeHashGiSTSP-GiSTGIN等。每种索引类型根据不同的查询使用不同的算法。 默认情况下,CREATE INDEX命令使用B树索引

单列索引

仅在一个表列中创建索引,则将其称为单列索引

CREATE INDEX index_name 

ON table_name (column_name);

举例

create index index_company_name

on efu.company(name);

在该表上创建了一个名为“index_company_name”的索引

postgres讲义14_创建索引_第1张图片

如果通过使用表的多个列创建索引,则称为多列索引

CREATE INDEX index_name 

ON table_name (column1_name, column2_name);

 

创建唯一索引

唯一索引以获取数据的完整性并提高性能。它不允许向表中插入重复的值,或者在原来表中有相同记录的列上也不能创建索引。

create unique index un_comany_name

on  efu.company(name);

删除索引

DROP INDEX efu.index_company_name;

哪些情况下避免使用索引

1,小表上==>避免使用索引

2,具有频繁,大批量更新或插入操作的表==>避免使用索引

3,包含大量NULL值的列==>避免使用索引

4,经常操作(修改)的列==>避免使用索引

 

你可能感兴趣的:(postgres)