PostgreSQL索引分类及使用

时间:2021-05-25 12:14:36

1.索引方式

PostgreSQL数据库支持单列index,多列复合 index, 部分index, 唯一index, 表达式index,隐含 index, 和并发index。

2.索引方法

PostgreSQL 支持 B-tree, hash, GiST, and GIN index methods。

3.索引使用范围

1).B-tree

B-tree可以有效使用当一个查询包含等号(=)和范围操作符 (<, <=, >, >=, BETWEEN, and IN)。

2).hash

一个等号操作符(=),不适合范围操作符。

3).GiST

适用于自定义复杂类型,包括rtree_gist, btree_gist, intarray,tsearch, ltree 和 cube。

4).GIN

GIN比GiST占用多三倍多空间,适合复杂like,例如like ‘%ABC12%’。

4.索引使用注意事项

1).当一个表有很多行时,对一个表列进行索引是很重要的。

2).当检索数据时,应该选择一个好的备选列作为索引,外键,或者取最大最小值的键,列的选择性对索引有效性很重要。

3).为了更好的性能要移除不使用的索引,为了清除无法利用的行每隔一月重建所有索引。

4).如果有非常大量的数据,使用表分区索引。

5)当列中包含NULL值时,可以考虑建立一个不包含NULL的条件索引。

本文出自 “yiyi” 博客,请务必保留此出处http://heyiyi.blog.51cto.com/205455/1783945