Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Postgres是物化视图还是创建表,就像不增量更新一样?_Postgresql_Materialized Views - Fatal编程技术网

Postgresql Postgres是物化视图还是创建表,就像不增量更新一样?

Postgresql Postgres是物化视图还是创建表,就像不增量更新一样?,postgresql,materialized-views,Postgresql,Materialized Views,如果我不打算在Postgres中实现物化视图的增量更新,那么使用它们比创建表为有什么优势吗?从我所读到的内容来看,当你刷新一个物化视图时,该视图会被锁定并且不可读。由于它不可用,因此它的效果似乎与在物化视图上以相同的速率删除和重新创建表的效果相同。从PostgreSQL 9.3.2开始,您也不能使用物化视图数据作为更新查询的基础。 因此,如果您需要使用此视图作为某些更新的基础,那么最好使用常规表。我认为您是对的。我看到的唯一优点是“refresh”语句要短得多,不需要为此重新声明整个查询。这可能

如果我不打算在Postgres中实现物化视图的增量更新,那么使用它们比
创建表为
有什么优势吗?从我所读到的内容来看,当你刷新一个物化视图时,该视图会被锁定并且不可读。由于它不可用,因此它的效果似乎与在物化视图上以相同的速率删除和重新创建表的效果相同。

从PostgreSQL 9.3.2开始,您也不能使用物化视图数据作为更新查询的基础。
因此,如果您需要使用此视图作为某些更新的基础,那么最好使用常规表。

我认为您是对的。我看到的唯一优点是“refresh”语句要短得多,不需要为此重新声明整个查询。这可能是一个优势,具体取决于您如何管理DDLscripts@a_horse_with_no_name:你真的应该加上它作为答案——因为它基本上就是答案。:-)