View vs materialized view и стоит ли при частом обновлении данных?
Стоит ли использовать View или materialized view когда данные постоянно меняются и если стоит то какое view лучше ?
Например есть чат.
И хочется знать сколько писем написал пользователь. Пишут письма пользователи постоянно и много, много пользователей.
Стоит ли использовать view ? Ведь это по идее приводит к пересчёту всего вью каждый раз для всеq таблицы ? Или view как то хитро пересчитывается. Или такие view сделают большую нагрузку на базу?
Дополнительно:
В данним случае предпочтительнеы триггер
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
View и materialized view - это два различных способа организации данных в базе данных.
View - это виртуальная таблица, которая представляет собой результат выполнения запроса к одной или нескольким таблицам. View не хранит данные физически, а лишь предоставляет доступ к данным, которые хранятся в базе данных. При каждом обращении к View выполняется запрос к базе данных для получения актуальных данных.
Materialized view, с другой стороны, является физически материализованной таблицей, которая хранит результат выполнения запроса к базе данных. Данные в materialized view обновляются периодически или при выполнении определенных событий, что позволяет уменьшить нагрузку на базу данных при выполнении запросов.
При частом обновлении данных стоит учитывать следующие аспекты:
1. View подходит для случаев, когда данные редко изменяются и требуется частое обращение к ним. Однако, при частом обновлении данных использование View может привести к увеличению времени выполнения запросов из-за необходимости каждый раз выполнять запрос к базе данных.
2. Materialized view может быть более эффективным в случаях, когда данные часто обновляются, так как она хранит результаты запроса и не требует выполнения запроса каждый раз при обращении к данным. Однако, при большом объеме данных обновление materialized view может занимать больше времени.
В целом, выбор между View и materialized view зависит от конкретного случая использования. Если данные редко изменяются и требуется частый доступ к ним, то можно использовать View. Если данные часто обновляются и при этом необходимо уменьшить нагрузку на базу данных, то стоит рассмотреть вариант с materialized view.