Kel*_*njb 26 postgresql indexing
我有一个Postgres数据库,它有2列不是主键(也不是),但是经过大量搜索并在其他表中进行相等性比较.
我相信这是为我的表添加索引的完美案例.我之前从未在数据库上使用过索引,因此我正在尝试学习正确的方法.
我了解到我可以选择多种类型的索引.如何确定哪种方法对我的数据库最有效?正确的方法是创建一个覆盖两列的单个索引吗?
Max*_*Max 23
Postgres支持B树,R树,Hash,GiST和GIN索引类型.B树索引是最常见的,也是最常见的场景.这是语法:
CREATE INDEX idex_name ON table_name USING btree(column1, column2);
Run Code Online (Sandbox Code Playgroud)
这是createindex文档,这里有关于postgres中不同索引类型的更多信息.
您应该使用哪种类型的索引取决于您要执行的操作类型.如果您只是想要进行等式检查,那么哈希索引是最好的.对于大多数常见操作(例如比较,模式匹配),应使用B树.我个人从未使用过GiST或GIN索引.那里有什么古鲁?
文档描述了所有这些类型.他们可以帮助你比我更好:)
希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
17113 次 |
| 最近记录: |