Материализованные представления Postgres или CREATE TABLE AS, если не обновляются постепенно?

Если я не планирую внедрять инкрементные обновления для материализованных представлений в Postgres, есть ли преимущества в их использовании по сравнению с CREATE TABLE AS? Из того, что я прочитал, когда вы обновляете материализованное представление, это представление блокируется и не читается. Поскольку он недоступен, похоже, он имеет тот же эффект, что и удаление и воссоздание таблицы с той же скоростью, с которой вы запускаете обновление в материализованном представлении.


person Tony    schedule 13.12.2013    source источник
comment
Я думаю, вы правы. Единственное преимущество, которое я вижу, заключается в том, что оператор обновления намного короче, и вам не нужно повторно формулировать для этого весь запрос. Может быть преимуществом в зависимости от того, как вы управляете своими сценариями DDL.   -  person a_horse_with_no_name    schedule 13.12.2013
comment
@a_horse_with_no_name: вы действительно должны добавить это в качестве ответа, потому что это, по сути, ответ. :-)   -  person Denis de Bernardy    schedule 13.12.2013


Ответы (1)


Начиная с PostgreSQL 9.3.2, вы также не можете использовать данные материализованного представления в качестве основы для запроса UPDATE. Поэтому, если вам нужно использовать это представление в качестве основы для некоторых обновлений, вам лучше использовать обычные таблицы.

person elar1000    schedule 05.02.2014