powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Стоит ли использовать представления в Mysql?
14 сообщений из 14, страница 1 из 1
Стоит ли использовать представления в Mysql?
    #38956422
capscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возьмем запрос из нескольких join по большим таблицам:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
SELECT (список полей)
FROM Posts
  LEFT JOIN Cars      on Cars.id      = Posts.carId
  LEFT JOIN Cities    on Cities.id    = Posts.cityId
  LEFT JOIN Regions   on Regions.id   = Cities.regionId
  LEFT JOIN Countries on Countries.id = Regions.countryId
  LEFT JOIN Models    on Models.id    = Cars.modelId
  LEFT JOIN Brands    on Brands.id    = Models.brandId



Подскажите, пожалуйста:
1. Представления(view) - это элемент оптимизации, или же просто алиас для запроса?
2. Стоит ли в качестве оптимизации использовать view для такого вида запросов?
3. Как проводить индексацию view таблицы?
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38956433
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscom1. Представления(view) - это элемент оптимизации, или же просто алиас для запроса?А хоть в какой-нибудь СУБД VIEW является элементом оптимизации?
В лучшем случае это алиас, в худшем - временная материализованная таблица во время выполнения запроса.capscom2. Стоит ли в качестве оптимизации использовать view для такого вида запросов?Нет.capscom3. Как проводить индексацию view таблицы?Никак.

См. View Processing Algorithms
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38956441
1) представление - это именнованный текст запроса, хранимый на сервере.
2) в запросах вместо имени представления будет подставляться текст сохраненного запроса, поэтому оптимизация только на уровне сокращения вводимого вручную кода и облегчению его повторного использования
3) для индексации представления необходимо проиндекировать таблицы, участвующие в тексте жэтого представления

По-мойму так...
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38956442
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
capscom1. Представления(view) - это элемент оптимизации, или же просто алиас для запроса?
Ни то ни другое. Воспринимай его как отладочную конструкцию, которая по завершении отладки уйдёт. Исключения не так уж и часто встречаются.

capscom2. Стоит ли в качестве оптимизации использовать view для такого вида запросов?
Как правило нет.

capscom3. Как проводить индексацию view таблицы?
Никак.
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38956452
miksoftА хоть в какой-нибудь СУБД VIEW является элементом оптимизации?в некоторых серверах оптимизатору можно намекать, как себя вести с представлениями - выполнять ли их отдельным блоком и результата выполнения подставлять в основной запрос, либо же разобрать представление до уровня базовых таблиц и встроить их код в исходный запрос. в какой-то мере это можно назвать оптимизацией...
в частности, в Oracle за это овечают хинты /*+ MERGE(<имя представления>) */ и /*+ NO_MERGE(<имя представления>) */ (слить / не слить)
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38956453
capscom
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Всем отписавшимся. Теперь все понятно.
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38956455
Cygapb-007
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftА хоть в какой-нибудь СУБД VIEW является элементом оптимизации?
А как же индексированные View в MS SQL? Оптимизация в чистом виде
Другое дело, что в MySQL их нет
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38956472
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в MSSQL и хранимки хранятся в откомпилированном виде, что способствует их бестрейшему выполнению
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38956508
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый Э - ЭхmiksoftА хоть в какой-нибудь СУБД VIEW является элементом оптимизации?в некоторых серверах оптимизатору можно намекать, как себя вести с представлениями - выполнять ли их отдельным блоком и результата выполнения подставлять в основной запрос, либо же разобрать представление до уровня базовых таблиц и встроить их код в исходный запрос. в какой-то мере это можно назвать оптимизацией...
в частности, в Oracle за это овечают хинты /*+ MERGE(<имя представления>) */ и /*+ NO_MERGE(<имя представления>) */ (слить / не слить)Тут возможный выигрыш видится не из-за VIEW как такового, а из-за того, что без него (при прямой подстановке его кода в запрос) оптимизатор неправильно строит план запроса. Но тогда это исправить можно и не применяя VIEW.
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38956519
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cygapb-007miksoftА хоть в какой-нибудь СУБД VIEW является элементом оптимизации?
А как же индексированные View в MS SQL? Оптимизация в чистом виде
Другое дело, что в MySQL их нетНасколько я понял, это аналог оракловых матвью. Я их отличаю от просто VIEW и к ним мой вопрос не относится.
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38957139
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,
А хоть в какой-нибудь СУБД VIEW является элементом оптимизации?
postgresql позволяет индексировать MATVIEW, правда боле-менее юзабельными они стали только к 9.4
Вьюхи служат, главным образом, для того, чтобы иметь возможность не перекомпилируя толстого клиента
и не правя там запросы менять логику оных в самой БД.
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38957146
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕН,

Ну я уже пояснил, что я отличаю MATVIEW от VIEW в этом вопросе.
С возможностями оптимизации с помощью MATVIEW, конечно, согласен.
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38957159
ОКТОГЕН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,
возможность не пересобирать клиента лишний раз меня, к примеру, выручала.
Да и доступом можно играться, что тоже гуд.
ИМХО, это оптимизация, поскольку уменьшается связность.
Что лично мне не нравится чисто эстетически во вьюхах, так это то,
что некоторые SQL сервера не сохраняют форматирования запросов.
Подход MSSQL к этой теме мне нравится - реализация postgreSQL, напоминающая обфусцирование - мне не нравится.
...
Рейтинг: 0 / 0
Стоит ли использовать представления в Mysql?
    #38957165
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ОКТОГЕНЧто лично мне не нравится чисто эстетически во вьюхах, так это то,
что некоторые SQL сервера не сохраняют форматирования запросов.В этом не вижу проблемы, т.к. практически никогда не читаю тексты VIEW (хотя сами VIEW используем широкомасштабно, редкий запрос обходится без них). У нас принято хранить все это в создающих скриптах. Которые легко бэкапить, хранить разные версии и т.п.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Стоит ли использовать представления в Mysql?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]