Материализованные взгляды с MySQL
-
10-10-2019 - |
Вопрос
Эмулированные материализованные взгляды с MySQL имеют хорошую производительность? Я учусь делать с эта ссылка
Благодарность
Исправление: «Материализованные взгляды» для «эмулированных материализованных взглядов».
Решение
MySQL не имеет материализованных представлений - ссылка просто создает таблицу и вносит в нее данные, чтобы таблица была индексирована. Это означает, что производительность является нормой с обычной таблицей, но у вас также есть накладные расходы по промывке и репутации таблицы (включая индексы).
Я не видел, какой двигатель использовал стол, но ПАМЯТЬ вероятно, будет лучшим выбором.
Другие советы
Материализованный вид - это просто причудливое название для обычной таблицы с данными из некоторых тяжелых запросов.
Таким образом, хотя создавать его так же тяжело, как и сам тяжелый запрос, запросить его действительно быстро.
Большой вопрос здесь заключается в том, как вы хотите обновить представление.
- Вы можете делать регулярное полное обновление. Просто сделать, но тяжелый во время этого обновления и между обновлениями, данные устарели.
- Вы можете использовать триггеры для автоматического обновления данных при вставке/удалении/обновлении. Это делает вставки/удаление/обновления для других ваших таблиц немного тяжелее, но не будет устаревшим.
Flexviews (http://flexvie.ws) - это проект на основе PHP/MySQL с открытым исходным кодом. Flexviews добавляет постепенно обновляемые материализованные представления (например, материализованные представления в Oracle) в MySQL, USNG PHP и хранимые процедуры.
Он включает в себя FlexCDC, утилиту захвата данных на основе PHP, которая считывает бинарные журналы, и хранимых процедур Flexviews MySQL, которые используются для определения и поддержания представлений.
FlexViews поддерживает соединения (только внутреннее соединение) и агрегацию, чтобы их можно было использовать для создания сводных таблиц. Кроме того, вы можете использовать FlexViews в сочетании с дизайнером агрегации Mondrian (AROLAP) для создания сводных таблиц, которые инструмент ROLAP может автоматически использовать.