В нашем проекте мы часто заканчиваем тем, что переписали сложные соединения как 3 таблицы. Мы получаем какие-либо преимущества производительности при помощи представлений или являемся ими только для того, чтобы сделать жизни устройств записи запроса легче? В случае, если это имеет значение, мы используем MySQL. Если какие-либо преимущества таким образом достигаются (кроме более простых запросов, конечно), осветите.
Вообще говоря, обычные представления не обеспечивают значительного улучшения производительности по сравнению с простым выполнением запроса. Тем не менее, большинство систем баз данных, включая MySql (я полагаю ... прошло какое-то время с тех пор, как я его использовал), предлагают какую-то возможность индексированного или материализованного представления. Обычно такие представления имеют изрядное количество ограничений, чтобы быть жизнеспособными, но после создания результаты резервного запроса кэшируются в физической таблице (в случае индексированных представлений SQL Server таблица в TempDB). Сервер базы данных является затем отвечает за отслеживание изменений в базовом запросе и обновление кэшированной копии. Запросы к такому индексированному / материализованному представлению обычно выполняются намного быстрее, чем запросы к обычной таблице.
Представления - это просто логические таблицы, которые ничем не отличаются от выполнения того же sql во время исполнения. Единственным отличием может быть тип материализованного представления, как в oracle, который похож на кэшированное представление.
Представления (обычные представления) сами по себе не обеспечивают преимущества в производительности, если только не используются индексированные представления (также известные как материализованные представления), которые имеют множество ограничений. Не все взгляды могли быть материализованы.