powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по индексированной вью
21 сообщений из 21, страница 1 из 1
Вопрос по индексированной вью
    #39913501
assmsk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.

Есть таблица А без индексов:

Код: sql
1.
CREATE TABLE A ([id] INT, [NAME] VARCHAR(20), [START_DATE] DATE)



И индексированная вью :

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE VIEW v_А WITH SCHEMABINDING  
AS  
SELECT 
 [id]
,[NAME]
,[START_DATE]
FROM А

CREATE UNIQUE CLUSTERED INDEX i_ID  ON v_A (id); 
CREATE NONCLUSTERED INDEX i_name    ON v_A (name); 
CREATE NONCLUSTERED INDEX i_date    ON v_A (start_date)



Вопрос. Существование индексированной вьюхи v_А каким то образом влияет на производительность преобразования данных (INSERT,DELETE,UPDATE) в таблице А?
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913503
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assmsk
Всем привет.

Есть таблица А без индексов:

Код: sql
1.
CREATE TABLE A ([id] INT, [NAME] VARCHAR(20), [START_DATE] DATE)




И индексированная вью :

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
CREATE VIEW v_А WITH SCHEMABINDING  
AS  
SELECT 
 [id]
,[NAME]
,[START_DATE]
FROM А

CREATE UNIQUE CLUSTERED INDEX i_ID  ON v_A (id); 
CREATE NONCLUSTERED INDEX i_name    ON v_A (name); 
CREATE NONCLUSTERED INDEX i_date    ON v_A (start_date)




Вопрос. Существование индексированной вьюхи v_А каким то образом влияет на производительность преобразования данных (INSERT,DELETE,UPDATE) в таблице А?

Да, влияет. Индексированное вью и его индексы - материализуются, их поддержание требует дополнительных операций.
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913507
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assmsk,

А зачем вам индексировать вью с одной таблицей? Индексировать есть смысл что-то из нескольких таблиц или что-то в чем есть какая-то логика кроме выбора нескольких полей.
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913514
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
assmsk
Вопрос. Существование индексированной вьюхи v_А каким то образом влияет на производительность преобразования данных (INSERT,DELETE,UPDATE) в таблице А?
В данном случае влияние то же самое, как от создания этих индексов на саму таблицу.
Только менее производительно, потому что в случае вью таблица остаётся кучей, и получается, что таблица как бы удваивается.
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913523
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

alexeyvg
Только менее производительно, потому что в случае вью таблица остаётся кучей

Остается кучей даже если для представления создан кластерный индекс ? Как в этом случае
авторCREATE UNIQUE CLUSTERED INDEX i_ID ON v_A (id);
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913563
icprog
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
entrypoint,

Таблица остается кучей, т.к.
Код: sql
1.
CREATE UNIQUE CLUSTERED INDEX i_ID ON v_A (id);


совершенно не затрагивает исходную таблицу. Создается индекс i_ID (материализуется представление) дублирующий данные исходной таблицы
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913564
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint
Остается кучей даже если для представления создан кластерный индекс ? Как в этом случае


Создание индексированного вью никак не влияет на структуру хранения данных в самой таблице.
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913571
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
icprog,
msLex,

Понятно, что таблица остается кучей, а что происходит с представлением в этом случае ?
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913573
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint
icprog,
msLex,

Понятно, что таблица остается кучей, а что происходит с представлением в этом случае ?


Оно материализуется.
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913584
entrypoint
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
msLex
entrypoint
icprog,
msLex,

Понятно, что таблица остается кучей, а что происходит с представлением в этом случае ?


Оно материализуется.


Т.е. перестает быть кучей ?
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913585
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin
assmsk,

А зачем вам индексировать вью с одной таблицей? Индексировать есть смысл что-то из нескольких таблиц или что-то в чем есть какая-то логика кроме выбора нескольких полей.


Может быть автору для каких-то целей нужна кластеризованная реплика таблицы.
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913594
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав Колосов
a_voronin
assmsk,

А зачем вам индексировать вью с одной таблицей? Индексировать есть смысл что-то из нескольких таблиц или что-то в чем есть какая-то логика кроме выбора нескольких полей.


Может быть автору для каких-то целей нужна кластеризованная реплика таблицы.


Кластеризованная по другому принципу нежели исходная таблица?
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913611
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin,

исходная таблица - куча, см. выше переписку.
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913629
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint
msLex
пропущено...


Оно материализуется.


Т.е. перестает быть кучей ?

Вью вообще не может быть кучей
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913662
Фотография defragmentator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

по логике да, понятно, что индексы должны перестраиваться в случае insert/update/delete, а по факту, если одна таблица в сотне вьюшек с индексами будет задействована, получится, что всё, кранты серверу?
Или там какой - либо интеллектуальный алгоритм перестойки индексов есть, типа по-необходимости ?
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913663
Фотография defragmentator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defragmentator
alexeyvg,

по логике да, понятно, что индексы должны перестраиваться в случае insert/update/delete, а по факту, если одна таблица в сотне вьюшек с индексами будет задействована, получится, что всё, кранты серверу?
Или там какой - либо интеллектуальный алгоритм перестойки индексов есть, типа "по-необходимости" ?
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913666
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defragmentator
alexeyvg,

по логике да, понятно, что индексы должны перестраиваться в случае insert/update/delete, а по факту, если одна таблица в сотне вьюшек с индексами будет задействована, получится, что всё, кранты серверу?
Или там какой - либо интеллектуальный алгоритм перестойки индексов есть, типа по-необходимости ?

конечно вью не будет изменятся, если изменения в таблице ее не затрагивают.
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913987
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
entrypoint
Остается кучей даже если для представления создан кластерный индекс ? Как в этом случае
Разумеется.
Индексиорованная вьюха - это отдельный объект.
В данном случае она со всеми полями, тро есть будет копия таблицы, но кластерная.
Если сделать 10 таких вьюх, то будет 10 кластерных таблиц, + ещё одна в виде кучи.
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913990
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defragmentator
по логике да, понятно, что индексы должны перестраиваться в случае insert/update/delete, а по факту, если одна таблица в сотне вьюшек с индексами будет задействована, получится, что всё, кранты серверу?
Почему кранты?

Накладные расходы будут возрастать, как для любого индекса.

Сделайте вместо вьюхи покрывающий индекс [id] include([NAME],[START_DATE]), он тоже займёт место.

То есть правильно сказать не кранты, а возрастающие накладные расходы на изменения данных из за каждого нового индекса, плюс дополнительное место для хранения, но при этом ускорение выборки (если индекс "правильный").
А уж наступят ли "кранты", из за этих накладных расходов, зависит от объёмов и нагрузок.
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39913992
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defragmentator
Или там какой - либо интеллектуальный алгоритм перестойки индексов есть, типа по-необходимости ?
Нет, там всё онлайн в транзакции, как и для любого индекса.
Нету такого, что если к вьюхе не обращались, то она не будет обновляться.
...
Рейтинг: 0 / 0
Вопрос по индексированной вью
    #39914043
Фотография defragmentator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg,

спасибо
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Вопрос по индексированной вью
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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