|
|
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
Возьмем запрос из нескольких join по большим таблицам: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. Подскажите, пожалуйста: 1. Представления(view) - это элемент оптимизации, или же просто алиас для запроса? 2. Стоит ли в качестве оптимизации использовать view для такого вида запросов? 3. Как проводить индексацию view таблицы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 13:42:54 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
capscom1. Представления(view) - это элемент оптимизации, или же просто алиас для запроса?А хоть в какой-нибудь СУБД VIEW является элементом оптимизации? В лучшем случае это алиас, в худшем - временная материализованная таблица во время выполнения запроса.capscom2. Стоит ли в качестве оптимизации использовать view для такого вида запросов?Нет.capscom3. Как проводить индексацию view таблицы?Никак. См. View Processing Algorithms ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 13:53:35 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
1) представление - это именнованный текст запроса, хранимый на сервере. 2) в запросах вместо имени представления будет подставляться текст сохраненного запроса, поэтому оптимизация только на уровне сокращения вводимого вручную кода и облегчению его повторного использования 3) для индексации представления необходимо проиндекировать таблицы, участвующие в тексте жэтого представления По-мойму так... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 13:57:31 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
capscom1. Представления(view) - это элемент оптимизации, или же просто алиас для запроса? Ни то ни другое. Воспринимай его как отладочную конструкцию, которая по завершении отладки уйдёт. Исключения не так уж и часто встречаются. capscom2. Стоит ли в качестве оптимизации использовать view для такого вида запросов? Как правило нет. capscom3. Как проводить индексацию view таблицы? Никак. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 13:57:41 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
miksoftА хоть в какой-нибудь СУБД VIEW является элементом оптимизации?в некоторых серверах оптимизатору можно намекать, как себя вести с представлениями - выполнять ли их отдельным блоком и результата выполнения подставлять в основной запрос, либо же разобрать представление до уровня базовых таблиц и встроить их код в исходный запрос. в какой-то мере это можно назвать оптимизацией... в частности, в Oracle за это овечают хинты /*+ MERGE(<имя представления>) */ и /*+ NO_MERGE(<имя представления>) */ (слить / не слить) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 14:01:15 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
Спасибо Всем отписавшимся. Теперь все понятно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 14:02:04 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
miksoftА хоть в какой-нибудь СУБД VIEW является элементом оптимизации? А как же индексированные View в MS SQL? Оптимизация в чистом виде Другое дело, что в MySQL их нет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 14:03:30 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
в MSSQL и хранимки хранятся в откомпилированном виде, что способствует их бестрейшему выполнению ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 14:14:28 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
Добрый Э - ЭхmiksoftА хоть в какой-нибудь СУБД VIEW является элементом оптимизации?в некоторых серверах оптимизатору можно намекать, как себя вести с представлениями - выполнять ли их отдельным блоком и результата выполнения подставлять в основной запрос, либо же разобрать представление до уровня базовых таблиц и встроить их код в исходный запрос. в какой-то мере это можно назвать оптимизацией... в частности, в Oracle за это овечают хинты /*+ MERGE(<имя представления>) */ и /*+ NO_MERGE(<имя представления>) */ (слить / не слить)Тут возможный выигрыш видится не из-за VIEW как такового, а из-за того, что без него (при прямой подстановке его кода в запрос) оптимизатор неправильно строит план запроса. Но тогда это исправить можно и не применяя VIEW. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 14:33:59 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
Cygapb-007miksoftА хоть в какой-нибудь СУБД VIEW является элементом оптимизации? А как же индексированные View в MS SQL? Оптимизация в чистом виде Другое дело, что в MySQL их нетНасколько я понял, это аналог оракловых матвью. Я их отличаю от просто VIEW и к ним мой вопрос не относится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2015, 14:36:03 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
miksoft, А хоть в какой-нибудь СУБД VIEW является элементом оптимизации? postgresql позволяет индексировать MATVIEW, правда боле-менее юзабельными они стали только к 9.4 Вьюхи служат, главным образом, для того, чтобы иметь возможность не перекомпилируя толстого клиента и не правя там запросы менять логику оных в самой БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 10:58:40 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕН, Ну я уже пояснил, что я отличаю MATVIEW от VIEW в этом вопросе. С возможностями оптимизации с помощью MATVIEW, конечно, согласен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 11:03:15 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
miksoft, возможность не пересобирать клиента лишний раз меня, к примеру, выручала. Да и доступом можно играться, что тоже гуд. ИМХО, это оптимизация, поскольку уменьшается связность. Что лично мне не нравится чисто эстетически во вьюхах, так это то, что некоторые SQL сервера не сохраняют форматирования запросов. Подход MSSQL к этой теме мне нравится - реализация postgreSQL, напоминающая обфусцирование - мне не нравится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 11:14:50 |
|
||
|
Стоит ли использовать представления в Mysql?
|
|||
|---|---|---|---|
|
#18+
ОКТОГЕНЧто лично мне не нравится чисто эстетически во вьюхах, так это то, что некоторые SQL сервера не сохраняют форматирования запросов.В этом не вижу проблемы, т.к. практически никогда не читаю тексты VIEW (хотя сами VIEW используем широкомасштабно, редкий запрос обходится без них). У нас принято хранить все это в создающих скриптах. Которые легко бэкапить, хранить разные версии и т.п. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2015, 11:21:37 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38956442&tid=1833210]: |
0ms |
get settings: |
8ms |
get forum list: |
9ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
51ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
36ms |
get tp. blocked users: |
1ms |
| others: | 196ms |
| total: | 313ms |

| 0 / 0 |
