首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何确定在Postgres中使用哪种类型的索引?

如何确定在Postgres中使用哪种类型的索引?
EN

Stack Overflow用户
提问于 2010-12-02 00:36:39
回答 2查看 19.1K关注 0票数 31

我有一个Postgres数据库,它有2列不是主键(也不能是主键),但被大量搜索,并与其他表中的2列进行相等比较。

我相信这是向我的表中添加索引的完美案例。我以前从未在数据库上使用过索引,所以我正在尝试学习做这件事的正确方法。

我了解到,有多种类型的索引可供我选择。如何确定哪种方法对我的数据库最有效?另外,正确的方法是创建涵盖两个列的单个索引吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-02 00:48:23

Postgres支持B-树、R-树、哈希、GiST和GIN索引类型。B树索引是最常见的,并且适合最常见的场景。以下是语法:

代码语言:javascript
复制
CREATE INDEX idex_name ON table_name USING btree(column1, column2);

这里是createindex文档,这里是postgres中不同indextypes的更多信息。

您应该使用哪种类型的索引取决于您要执行的操作类型。如果你只是想要进行相等性检查,那么哈希索引是最好的。对于大多数常见的操作(例如比较、模式匹配),应该使用B树。我个人从未使用过GiST或杜松子酒索引。有没有导师在外面?

文档描述了所有这些类型。他们可以比我更好地帮助您:)

希望这能有所帮助。

票数 26
EN

Stack Overflow用户

发布于 2010-12-02 01:12:55

还要尝试理解queryplanner,因为PostgreSQL的这一部分必须与索引一起工作。解释分析对于优化您的查询是必不可少的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4326625

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档