JSONB GIN 索引上的 Postgres CLUSTER?

Postgres CLUSTER on JSONB GIN index?

我正在尝试使用具有一个 JSONB 列的 Postgres 与更传统的关系模型(每个字段都是一列)进行评估。我最近发现在关系模型中的索引上进行 CLUSTERing(在本例中是一列上的索引)有助于读取性能,这是可以理解的。

根据我的理解,运行ning CLUSTER ON 实际上会根据指定的索引重新排序 table 的物理存储方式。我想知道的是,如果我 运行 CLUSTER ON , table 将如何重新排序?在我实际执行命令之前有什么方法可以知道,还是这更像是一个试一试的场景?

如果有帮助,我们正在使用 jsonb_path_ops 运算符。

谢谢!

我怀疑您能否在 GIN 索引上进行集群,因为索引中没有自然顺序。聚类在物理上按索引顺序重新排序,而 gin 索引本身没有顺序。

因此,如果这有效,我会感到非常惊讶。我认为您需要一个 btree 索引。

现在,我认为您可以对 jsonb 的属性进行功能索引并在其上进行集群。