PostgreSQL索引分类及使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PostgreSQL索引分类及使用相关的知识,希望对你有一定的参考价值。

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

以上是关于PostgreSQL索引分类及使用的主要内容,如果未能解决你的问题,请参考以下文章

postgres 空间索引

Postgres 索引未使用正确的计划

B-Tree 和 GiST 索引方法(在 PostgreSQL 中)有啥区别?

关于 postgres 中的聚集索引

PostgreSQL 并不始终使用部分索引

lightdb/postgresql中的表空间及相关注意点