Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Таблица и индексы  [new]
MedBrat
Member

Откуда: Санкт-Петербург
Сообщений: 348
Добрый день, коллеги. Хотелось бы получить совет...

В общем, имеется таблица в 5 столбцов. Столбцы содержат разные типы данных. В таблицу каждую ночь собирается информация из более крупной и емкой таблицы, старая информация сносится Truncate table, вливается новая, производится rebuild index. Причем кол-во записей достигает нескольких миллионов. На текущий момент имеется 1 кластерный индекс по ключевому полю данной таблицы.

Вопрос : имеет ли смысл делать другие индексы? (была мысль, может быть абсурдная, залепить вообще один кластерный индекс сверху по всем полям) Таблица используется для дальнейших выборок с фильтрацией по различным ее полям.
13 дек 13, 17:39    [15289978]     Ответить | Цитировать Сообщить модератору
 Re: Таблица и индексы  [new]
Glory
Member

Откуда:
Сообщений: 104751
MedBrat
Вопрос : имеет ли смысл делать другие индексы?

Добавить еще индексов для "старая информация сносится Truncate table, вливается новая, производится rebuild index." ???

MedBrat
(была мысль, может быть абсурдная, залепить вообще один кластерный индекс сверху по всем полям)

А чем он будет отличаться от теперешнего "имеется 1 кластерный индекс по ключевому полю данной таблицы" ?
13 дек 13, 17:45    [15289999]     Ответить | Цитировать Сообщить модератору
 Re: Таблица и индексы  [new]
iap
Member

Откуда: Москва
Сообщений: 47144
Индексы создаются не для таблицы, а для запросов,
которые эту таблицу используют.
13 дек 13, 17:45    [15290000]     Ответить | Цитировать Сообщить модератору
 Re: Таблица и индексы  [new]
MedBrat
Member

Откуда: Санкт-Петербург
Сообщений: 348
iap
Индексы создаются не для таблицы, а для запросов,
которые эту таблицу используют.

Ок, т.е. если у меня имеется таблица с аргументами A, B. Я произвожу поиск по A, то имеет смысл индексировать именно A? Но при этом логично предположить, что возможно мне понадобится фильтрация или поиск по B. Не разумнее ли иметь кластерный по A и не кластерный по A,B?
13 дек 13, 17:49    [15290012]     Ответить | Цитировать Сообщить модератору
 Re: Таблица и индексы  [new]
Glory
Member

Откуда:
Сообщений: 104751
MedBrat
Я произвожу поиск по A, то имеет смысл индексировать именно A?

Кроме условий поиска в запросе имеются еще и другие части.
Как то, выбираемые поля, услвоия сортировки и тп
13 дек 13, 17:51    [15290017]     Ответить | Цитировать Сообщить модератору
 Re: Таблица и индексы  [new]
MedBrat
Member

Откуда: Санкт-Петербург
Сообщений: 348
Glory
MedBrat
Вопрос : имеет ли смысл делать другие индексы?

Добавить еще индексов для "старая информация сносится Truncate table, вливается новая, производится rebuild index." ???

MedBrat
(была мысль, может быть абсурдная, залепить вообще один кластерный индекс сверху по всем полям)

А чем он будет отличаться от теперешнего "имеется 1 кластерный индекс по ключевому полю данной таблицы" ?


Возможно ошибаюсь, но мне казалось, что поиск и фильтрация при поиске по не ключевому столбцу будут быстрее при наличии соответствующего некластерного индекса.
13 дек 13, 17:51    [15290020]     Ответить | Цитировать Сообщить модератору
 Re: Таблица и индексы  [new]
Glory
Member

Откуда:
Сообщений: 104751
MedBrat
Возможно ошибаюсь, но мне казалось, что поиск и фильтрация при поиске по не ключевому столбцу будут быстрее при наличии соответствующего некластерного индекса.

И поэтому вы решили "залепить вообще один кластерный индекс сверху по всем полям" ?
13 дек 13, 17:52    [15290024]     Ответить | Цитировать Сообщить модератору
 Re: Таблица и индексы  [new]
MedBrat
Member

Откуда: Санкт-Петербург
Сообщений: 348
Glory
MedBrat
Я произвожу поиск по A, то имеет смысл индексировать именно A?

Кроме условий поиска в запросе имеются еще и другие части.
Как то, выбираемые поля, услвоия сортировки и тп


Ок, у меня производится выборка всех полей из указанной таблице, сортировка производится по одному из столбцом в порядке возрастания, Фильтрация производится отдельным образом для множество запросов объединенных UNION ALL.
13 дек 13, 17:53    [15290027]     Ответить | Цитировать Сообщить модератору
 Re: Таблица и индексы  [new]
MedBrat
Member

Откуда: Санкт-Петербург
Сообщений: 348
Glory
MedBrat
Возможно ошибаюсь, но мне казалось, что поиск и фильтрация при поиске по не ключевому столбцу будут быстрее при наличии соответствующего некластерного индекса.

И поэтому вы решили "залепить вообще один кластерный индекс сверху по всем полям" ?


Посоветуйте нечто лучшее, если этот выбор не имеет ничего общего с разумным решением для ускорения выборки. Места конечно сожрет, как еще одна такая же таблица, но этим можно пренебречь, если появится выигрыш в скорости.
13 дек 13, 17:55    [15290037]     Ответить | Цитировать Сообщить модератору
 Re: Таблица и индексы  [new]
хмхмхм
Guest
MedBrat,

приведите скрипт создания таблицы и типичные запросы, которые вы хотите оптимизировать.
13 дек 13, 18:02    [15290065]     Ответить | Цитировать Сообщить модератору
 Re: Таблица и индексы  [new]
Glory
Member

Откуда:
Сообщений: 104751
MedBrat
Ок, у меня производится выборка всех полей из указанной таблице, сортировка производится по одному из столбцом в порядке возрастания

кластерный индекс А+В

MedBrat
Фильтрация производится отдельным образом для множество запросов объединенных UNION ALL.

Что ? Откуда уже множество "множество запросов объединенных UNION ALL" ?
13 дек 13, 18:03    [15290070]     Ответить | Цитировать Сообщить модератору
 Re: Таблица и индексы  [new]
хмхмхм
Guest
MedBrat
Добрый день, коллеги. Хотелось бы получить совет...

В общем, имеется таблица в 5 столбцов. Столбцы содержат разные типы данных. В таблицу каждую ночь собирается информация из более крупной и емкой таблицы, старая информация сносится Truncate table, вливается новая, производится rebuild index. Причем кол-во записей достигает нескольких миллионов. На текущий момент имеется 1 кластерный индекс по ключевому полю данной таблицы.

Вопрос : имеет ли смысл делать другие индексы? (была мысль, может быть абсурдная, залепить вообще один кластерный индекс сверху по всем полям) Таблица используется для дальнейших выборок с фильтрацией по различным ее полям.


Мне кажется это ключевой момент для создания
column store index
13 дек 13, 18:07    [15290085]     Ответить | Цитировать Сообщить модератору
 Re: Таблица и индексы  [new]
Dmitry V. Liseev
Member [заблокирован]

Откуда: Санкт-Петербург
Сообщений: 5489
MedBrat
iap
Индексы создаются не для таблицы, а для запросов,
которые эту таблицу используют.

Ок, т.е. если у меня имеется таблица с аргументами A, B. Я произвожу поиск по A, то имеет смысл индексировать именно A? Но при этом логично предположить, что возможно мне понадобится фильтрация или поиск по B. Не разумнее ли иметь кластерный по A и не кластерный по A,B?
Если будет индекс по А, В, то он не будет использоваться при поиске только по В. То есть, всё сильно зависит от конкретных запросов.
13 дек 13, 19:47    [15290545]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить