我想基于其他表中的信息来集群PostgreSQL表。
想象一下两个表 - foos (id, baz_id, name)
和bars (foo_id, name)
。 bars.foo_id
是foos.id
的外键引用。
我想对吧台进行聚类,以便foos.baz_id对它进行排序。
这可能吗?
答案 0 :(得分:1)
这可以使用非规范化来完成。
添加bars.baz_id
列并添加触发器或应用程序层逻辑,以维护该表中的相应值。
然后添加一个索引,该索引使用非规范化bars.baz_id
列和该索引的簇。
CREATE INDEX index_bars_on_baz_id ON bars (baz_id);
CLUSTER bars USING index_bars_on_baz_id;