索引跨越PostgreSQL中的多个表

Ewo*_*ann 20 sql postgresql

在PostgreSQL中是否可以在包含多个表的字段的表达式上放置索引.例如,加速查询以下形式的索引:

SELECT *, (table1.x + table2.x) AS z
FROM table1
INNER JOIN table2
ON table1.id = table2.id
ORDER BY z ASC
Run Code Online (Sandbox Code Playgroud)

Jak*_*nia 15

不,它不可能在许多表上都有索引,它也不能保证加速任何东西,因为你不会总是得到一个Index Only Scan.你真正想要的是物化视图,但pg也没有.您可以尝试使用此类 或此类的触发器自行实现它.


更新

如@petter所述.物化观点在9.3中介绍.