Задать вопрос
erniesto77
@erniesto77
oop, rb, py, php, js

SQL View против отдельных запросов с JOIN's?

Различается ли по ресурсам обращение к SQL View и конкретный запрос с джойнами? (Джойнов может быть 3-4 и плюс еще проверки на сумму значений + проверки на пустоту, короче сложный запрос)

На первый взгляд это одно и тоже, но
хотелось бы узнать SQL View это просто для удобства и красоты, или оно сокращает использование ресурсов?

Спасибо.
  • Вопрос задан
  • 139 просмотров
Подписаться 2 Простой Комментировать
Решения вопроса 1
@alexalexes
SQL View применяется в первую очередь, если некоторым пользователем нужно предоставить сводные сведения из закрытых для них таблиц, исключив доступ ко всем колонкам таблицы, либо предоставить только агрегированные сведения (count-ы, суммы, средние) и тд, не предоставляя доступ к исходной выборке.
Делегировать сводные данные другому пользователю, но не давать исходники данных - это как раз про представление.
В моем понимании, только в одном случае представление может поднять производительность. Если в выборке будут данные из редко изменяемых таблиц или колонок, а СУБД умеет отдельно кэшировать представление и имеется возможность настроить кэш, тогда можно сделать быстрые источники данных на представлениях, основанных на редко изменяемых таблицах. Самый яркий пример - получение древовидной структуры организации со сведениями о начальниках подразделений. Такой запрос отягощен рекурсивностью, а данные редко изменяются. Можно из такого запроса сделать вью и правильно закэшировать. И использовать структуру организации в других запросах станет проще, однотипно, и возможно, более производительнее.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Xeldos
Бывают материализованные вьюхи. Бывают индексированные поля вьюх. Но в целом, использование вьюх это не про ресурсы, а про переиспользование кода. Чтобы десятиэтажный запрос написать один раз, и не путаться в нём, а обращаться к нему по простому имени.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы