我知道这个问题在真正的数据库世界中并不理想,但是,我正在构建一个Web REST api来服务一个可能需要连接几乎每个表的结果(我肯定会使用规范化)。
所以可以使用一个表来保存用于读取API的元数据,但是当其他表中的数据更新时,表也会更新吗?我顺便使用PostgreSQL。
答案 0 :(得分:1)
这不是很清楚,所以我将陈述我对这个问题的理解,并告诉你我所看到的是权衡。
首先......听起来我想要有效地实现元数据表并在其他表更新时实时更新。这不是PostgreSQL中MATERIALIED VIEW
支持的真正含义。
只要有变化,您就可以使用触发器来更新数据。由于PostgreSQL处理事物的方式,这会导致更多的磁盘和CPU活动,但后者可能会比后者增加更多。因此,如果您受到严重的CPU限制,那么会造成比I / O绑定更多的问题。
以这种方式使用触发器会给数据库增加相当大的复杂性,并且可能会减少写入扩展,但如果数据很少写入但经常读取,则可能是明显的胜利。
所以回答你的问题,是的,至少在某些情况下它是实用的。在您的情况下是否实用,将由您决定。