在PostgreSQL中是否可以在包含多个表的字段的表达式上放置索引。因此,例如,一个索引可以加快以下形式的查询:
SELECT *, (table1.x + table2.x) AS z FROM table1 INNER JOIN table2 ON table1.id = table2.id ORDER BY z ASC
不,不可能在多个表上都有索引,而且由于您将永远不会获得仅索引扫描,因此它实际上也不能保证加速任何操作。您真正想要的是一个物化视图,但是pg也没有。您可以尝试使用this 或this这样的触发器自己实现它。
正如@petter所指出的。在9.3中介绍了实例化视图。