Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос о view! / 16 сообщений из 16, страница 1 из 1
02.09.2014, 19:30
    #38735353
scy
scy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
Собственно, вопрос, не оч уяснил из статей.
Есть огромная таблица, делаем view из нее с каким-нить условием, вьюха вышла в 100 раз меньше.
Теперь делаем 2 запроса, 1ин непосредственно в таблицу с 2мя условиями(1но копирует условие по которому создавалась вьюха, и еще какой-нить) ,2ой во вьюху - только со вторым условием.
Скорость выборки одинакова? или нет? непонимаю.
...
Рейтинг: 0 / 0
02.09.2014, 19:55
    #38735387
Злой Бобр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
scy,

Ну так померяй и увидишь. Если коротко то вьюха это лишь представление, т.е. динамический запрос а не отдельная таблица. Таким образом от перемены мест ... скорость неизменится. Надеюсь вы поняли.
...
Рейтинг: 0 / 0
02.09.2014, 21:26
    #38735467
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
scy, теоретически (то есть при идеальной реализации сервера) должна быть одинакова. На практике различные "неидеальности" могут привести к тому, что в некоторых ситуациях скорость будет кардинально разной, причём как в ту, так и в другую сторону.
...
Рейтинг: 0 / 0
03.09.2014, 10:38
    #38735816
LSV
LSV
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
softwarerscy, теоретически (то есть при идеальной реализации сервера) должна быть одинакова. На практике различные "неидеальности" могут привести к тому, что в некоторых ситуациях скорость будет кардинально разной, причём как в ту, так и в другую сторону.+500. Если вьюха индексированная, то возможен выигрыш.
Главная польза вьюхи - многократное использование ее конструкции, упрощающие код.
...
Рейтинг: 0 / 0
03.09.2014, 13:30
    #38736130
Ivan Durak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
scyСобственно, вопрос, не оч уяснил из статей.
Есть огромная таблица, делаем view из нее с каким-нить условием, вьюха вышла в 100 раз меньше.
Теперь делаем 2 запроса, 1ин непосредственно в таблицу с 2мя условиями(1но копирует условие по которому создавалась вьюха, и еще какой-нить) ,2ой во вьюху - только со вторым условием.
Скорость выборки одинакова? или нет? непонимаю.
посмотри планы выполнения. Там ответ
...
Рейтинг: 0 / 0
03.09.2014, 13:54
    #38736171
scy
scy
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
Всем спасибо за ответы.
Но некая неясность все таки осталась.
а) Если вьюха индексированная, то возможен выигрыш. -> тоесть мы можем проиндексировать лишь необходимый нам кусок родительской таблицы? Оо - чет мне кажеться вы меня путаете(хотя было бы сладко)
б) вьюха = динамический запрос -> все обращение к ней - эквивалентны логическому & - между условиями? - и тогда как писал "LSV " - выигрыш только в упрощении кода?
...
Рейтинг: 0 / 0
03.09.2014, 14:01
    #38736187
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
scyа) Если вьюха индексированная, то возможен выигрыш. -> тоесть мы можем проиндексировать лишь необходимый нам кусок родительской таблицы? Оо - чет мне кажеться вы меня путаете(хотя было бы сладко)

То что после "->" - никак не связано с тем что до. Создать indexed view - не значит "проиндексировать кусок родительстой таблицы", это отдельный обьект

scyб) вьюха = динамический запрос -> все обращение к ней - эквивалентны логическому & - между условиями? - и тогда как писал "LSV " - выигрыш только в упрощении кода?
Потенциальных "выигрышей" много - инкапсуляция, права доступа, etc.
...
Рейтинг: 0 / 0
03.09.2014, 14:51
    #38736265
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
On 03.09.2014 11:38, LSV wrote:

> +500. Если вьюха индексированная, то возможен выигрыш.
> Главная польза вьюхи - многократное использование ее конструкции,
> упрощающие код.

Выигрыша от обычного VIEW быть не может, в лучшем случае -- та же
производительность, что и при подстановке текста VIEW в запрос.

Выигрыш от VIEW возможен только, если это -- т.н. материализованный VIEW
(некоторые СУБД поддерживают).

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.09.2014, 14:55
    #38736271
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
On 03.09.2014 14:54, scy wrote:

> а) Если вьюха индексированная, то возможен выигрыш.


Невозможен.

-> тоесть мы можем
> проиндексировать лишь необходимый нам кусок родительской таблицы? Оо -

Нет, это невозможно.


> б) вьюха = динамический запрос -> все обращение к ней - эквивалентны
> логическому & - между условиями? - и тогда как писал "LSV " - выигрыш
> только в упрощении кода?

Э... да, и в возможности его повторно использовать.

Но ввиду того, что VIEW достаточно часто вводят использующих его
программистов и/или оптимизатор СУБД в глубокий ступор, реально VIEW в
серьёзных СУБД практически не используют.

Заметь, я не отговариваю тебя использовать VIEW, в каких-то конкретных
случаях его использование может быть вполне себе оправдано и будет
работать как надо.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
03.09.2014, 15:04
    #38736293
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
MasterZivВыигрыш от VIEW возможен только, если это -- т.н. материализованный VIEW
(некоторые СУБД поддерживают).MasterZiv> а) Если вьюха индексированная, то возможен выигрыш.


Невозможен.А если индексированная материализованная VIEW, то что будет? :)
...
Рейтинг: 0 / 0
03.09.2014, 15:16
    #38736336
Злой Бобр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
scyВсем спасибо за ответы.
Но некая неясность все таки осталась.
а) Если вьюха индексированная, то возможен выигрыш. -> тоесть мы можем проиндексировать лишь необходимый нам кусок родительской таблицы? Оо - чет мне кажеться вы меня путаете(хотя было бы сладко)
б) вьюха = динамический запрос -> все обращение к ней - эквивалентны логическому & - между условиями? - и тогда как писал "LSV " - выигрыш только в упрощении кода?
По первому пункту - отделите мух от котлет и сформулируйте вопрос боле понятно. По индекс вьюхе - да, будет быстрее. Но это умеют только некоторые СУБД. В реально больших БД практически невстречал. Насчет индекса кусков - бред какой-то, даже нехочу комментировать ...
По второму - да, по сути все сводится к этому.
...
Рейтинг: 0 / 0
03.09.2014, 15:20
    #38736345
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
Злой БобрНасчет индекса кусков - бред какой-то, даже нехочу комментировать ...Не такой уж и бред, если не привязывать его к VIEW.
Мне в Oracle XE приходилось создать индекс по части таблицы с той целью, чтобы работать с "горячей" частью большой таблицы в условиях ограниченной памяти.
...
Рейтинг: 0 / 0
03.09.2014, 15:28
    #38736366
Infernal V. Raven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
miksoftМне в Oracle XE приходилось создать индекс по части таблицы с той целью, чтобы работать с "горячей" частью большой таблицы в условиях ограниченной памяти.Эдакое ручное партиционирование?
...
Рейтинг: 0 / 0
03.09.2014, 15:32
    #38736379
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
Infernal V. RavenmiksoftМне в Oracle XE приходилось создать индекс по части таблицы с той целью, чтобы работать с "горячей" частью большой таблицы в условиях ограниченной памяти.Эдакое ручное партиционирование?Ну да, типа того. Правда, партиций было всего две и быстрый доступ был только у одной из них.
Технически, это можно повторить несколько раз для разных условий, но "в условиях ограниченной памяти" это вряд ли будет эффективно.
...
Рейтинг: 0 / 0
03.09.2014, 15:37
    #38736392
Infernal V. Raven
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
miksoftПравда, партиций было всего две и быстрый доступ был только у одной из них.А как было реализовано?
Предполагаю, что использовалось что-то типа флага 1 - актуальные данные, 0 - неактуальные, или дата.
...
Рейтинг: 0 / 0
03.09.2014, 15:41
    #38736407
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос о view!
Infernal V. RavenmiksoftПравда, партиций было всего две и быстрый доступ был только у одной из них.А как было реализовано?
Предполагаю, что использовалось что-то типа флага 1 - актуальные данные, 0 - неактуальные, или дата.Конкретно у нас была комбинация полей. Был построен FBI-индекс по выражению, которое для "горячих" записей давало значение нужного поля, а для "холодных" записей давало NULL. Конечно же, это потребовало переписать все запросы, где использовалось это условие.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вопрос о view! / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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