Вопросы производительности при использовании MySQL VIEWs - PullRequest
3 голосов
/ 18 августа 2010

Я рассматривал возможность использования представлений MySQL для обеспечения абстракции при извлечении данных из БД. Когда я искал материал по этому вопросу, я наткнулся на эту статью , которая заканчивается на:

MySQL еще долго оптимизированы запросы с VIEW.

Статья за 2007 год. Это все еще применимо? Например: MySQL решил эти проблемы?

1 Ответ

1 голос
/ 19 августа 2010

Представления MySQL работают нормально функционально, но в большинстве случаев они работают плохо.

Это связано с тем, что введение даже довольно простого представления приводит к тому, что оптимизатор использует гораздо худший план запросов. Это делает использование представлений нецелесообразным в общем случае.

Часто сервер материализует все представление как временную таблицу, что не способствует хорошей производительности (если только в ней не очень небольшое количество строк).

Так что, если вы думали, что план объяснения в порядке без представления, то представление может стать ужасным. Насколько я знаю, это все еще не решено в последней версии MySQL для разработчиков.

Вы можете иметь представления, но не ожидайте приличной (то есть приемлемой) производительности.

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