Имеет ли смысл создавать материализованное представление для таблицы, которая обновляется несколько раз в секунду? - PullRequest
1 голос
/ 01 февраля 2012

У меня есть большая таблица и просмотр сводок со сложным запросом. Основная проблема, связанная с извлечением данных из представления, является медленной (6 строк по 2 секунды).

Я слышал, что материализованный взгляд очень быстрый. Но моя таблица обновляется несколько раз в секунду (довольно часто). И требование для просмотра, что данные всегда должны быть устаревшими.

На данный момент основная таблица (представление должно основываться) имеет около 100 000 строк и будет расти в будущем.

Так имеет ли смысл использовать материализованное представление? Потому что, насколько я понимаю, материализованное представление будет перестраиваться каждый раз, когда данные поступают так мало раз в секунду, и производительность может даже стоить того в представлении по умолчанию.

1 Ответ

3 голосов
/ 01 февраля 2012

Материализованные представления (MV) могут быть полезными или вредными для производительности, в зависимости от того, как они используются.В Oracle ничего не бывает FAST:=TRUE.

Ваше требование состоит в том, чтобы представление всегда было актуальным.Тогда для вашей ситуации MV должен обновляться для каждого коммита.Вопрос в том, как часто данные запрашиваются по сравнению с тем, как часто они обновляются?Вы должны где-то «оплатить» вычислительные затраты - либо во время обновления, либо по запросу.Если вы запрашиваете намного больше, чем обновляете, MV, вероятно, улучшит производительность, поскольку сложные вычисления будут выполняться реже.Однако, если таблица часто обновляется и запрашивает редко, вы будете платить штраф за каждое обновление, и ваша производительность, скорее всего, упадет.

Если вам придется ждать 2 секунды, чтобы получить 6 строк, тогдаВы должны рассмотреть вопрос о запросе, его плане выполнения и структуре вашей схемы.100k строк довольно "маленький" и где

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...