postgreSQL的索引

postgreSQL的索引主要有如下几类:B-tree、Hash、GIN、GiST、SP-GiST、BRIN。每个索引都有特定的算法来匹配不同的类型数据的查询。

B-tree

       索引可以应用于等值和范围查询,例如:<,<=,=,>=,>, betwee, in, is null,还有like模糊查询、排序。B-tree适合大多数数据类型,是默认创建使用的索引。

Hash

hash索引存储的是被索引字段VALUE的哈希值,只支持等值查询。
hash索引特别适用于字段VALUE非常长(不适合b-tree索引,因为b-tree一个PAGE至少要存储3个ENTRY,所以不支持特别长的VALUE)的场景,例如很长的字符串,并且用户只需要等值搜索,建议使用hash index。

GIN

gin是倒排索引,非常适合全文检索或者包含多个关键字的数组。如jsonb格式的字段就可以使用gin索引

GIST

GiST索引不是一种单独的索引类型,而是一种架构,可以在该架构上实现很多不同的索引策略。从而可以使GiST索引根据不同的索引策略,而使用特定的操作符类型。
索引适用于像like '%foo';的模糊查询,如create extension if not exists pg_trgm; CREATE INDEX trgm_idx ON test_trgm USING GIST (t gist_trgm_ops);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值