如何为 CitusDB 的 cstore_fdw 添加索引?

Posted

技术标签:

【中文标题】如何为 CitusDB 的 cstore_fdw 添加索引?【英文标题】:How to add index to CitusDB's cstore_fdw? 【发布时间】:2015-01-31 20:53:05 【问题描述】:

我目前正在 postgres 中构建一个 OLAP 数据库,并希望比较列存储与行存储数据库的性能。 CitusDB 开源了它的 columnar-store 扩展 cstore_fdw,所以我正在比较有没有这个扩展的数据库性能。

example 展示了如何创建一个测试数据库并对其进行查询。我有那个例子正在运行。但后来我尝试向它添加索引并得到错误ERROR: cannot create index on foreign table "table_name"。我不能向外部表添加索引是有道理的。然而,我仍然需要索引该表,否则它无法很好地切片或钻取数据。我该怎么做?

【问题讨论】:

【参考方案1】:

cstore_fdw 当前不支持 PostgreSQL 索引。但它会自动将一些最小/最大统计信息存储在跳过索引中,这使得某些查询的执行效率更高。

要了解有关如何使用跳过索引的更多信息,请咨询documentation。

【讨论】:

调用该文档有点牵强。没有很多例子,没有优化技巧,没有关于 cstore_fdw 不能做什么(你可能期望)。

以上是关于如何为 CitusDB 的 cstore_fdw 添加索引?的主要内容,如果未能解决你的问题,请参考以下文章

cstore_fdw的安装使用以及源码分析

citusdb function集合

django:DetailView 如何为两个模型工作或基于类的视图如何为两个模型工作?

如何为 CAShapeLayer 路径和填充颜色设置动画

如何为@Valid 指定验证组?

如何为 UIToolbar 上的按钮添加滚动?