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”的索引

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

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,经常操作(修改)的列==>避免使用索引

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值