2010-10-21 3 views
1

Эмулированные материализованные представления с MySQL имеет хорошую производительность? Я учусь, как сделать с this linkМатериализованные представления с MySQL

благодаря


Исправление: "материализованные представления" на "Emulated материализованные представления".

ответ

2

У MySQL нет материализованных представлений - ссылка только создает таблицу и заполняет данные, чтобы таблица могла быть проиндексирована. Это означает, что производительность соответствует обычной таблице, но у вас также есть накладные расходы на промывку &, заполняющие таблицу (включая индексы).

Я не видел, какой двигатель использовал этот стол, но MEMORY, вероятно, будет лучшим выбором.

+0

Я исправлю свой вопрос. Очень интересная ссылка. Спасибо за комментарий. – adelarsq

2

Материализованный вид - просто причудливое имя для обычной таблицы с данными из какого-то тяжелого запроса.

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

Большой вопрос: как вы хотите обновить представление.

  • Вы можете сделать регулярное полное обновление. Простой в использовании, но тяжелый во время этого обновления и между обновлениями данные устарели.
  • Вы можете использовать триггеры для автоматического обновления данных при вставке/удалении/обновлении. Это делает вставки/удаления/обновления для ваших других таблиц немного более тяжелыми, но это не будет устаревшим.
+0

Я попытаюсь использовать триггеры. Спасибо – adelarsq

1

Flexviews (http://flexvie.ws) - это проект на основе PHP/MySQL с открытым исходным кодом. Flexviews добавляет постепенно обновляемые материализованные представления (например, материализованные представления в Oracle) в MySQL, usng PHP и хранимые процедуры.

В него входит FlexCDC, утилита для записи данных на основе PHP, которая считывает двоичные журналы и хранимые процедуры Flexviews MySQL, которые используются для определения и поддержки представлений.

Flexviews поддерживает объединения (только для внутреннего соединения) и агрегацию, поэтому его можно использовать для создания сводных таблиц. Кроме того, вы можете использовать Flexviews в сочетании с дизайнером агрегации Mondrian's (ROLAP server) для создания сводных таблиц, которые инструмент ROLAP может автоматически использовать.

Смежные вопросы