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

Откуда:
Сообщений: 169
Всем привет.
Есть таблица A с уникальным кластерным индексом по полю id bigint
Таблица B с уникальным кластерным индексом по полю id bigint
Таблица С с уникальным кластерным индексом по полю id bigint


Для связки таблицы A c таблицами B и C есть таблица REF вида:
A_ID bigint
C_ID bigint
D_ID bigint

Джойн осуществляется следующим образом

SELECT a.id , b.val0.....b.val99, c.val0...c.val99
FROM A as base
INNER JOIN REF as ref ON a.id = ref.A_ID
LEFT JOIN B as b ON ref.B_ID = b.id
LEFT JOIN C as c ON ref.C_ID = c.id

На текущий момент в таблице REF только один уникальный кластерный индекс по полю A_ID
Интуитивно кажется, чтобы ускорить запросы нужен какой-то другой индекс\ы.
Какие оптимальные индексы для таблицы REF при таком использовании?
18 сен 19, 18:03    [21973495]     Ответить | Цитировать Сообщить модератору
 Re: Оптимальный выбор индекса  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
assmsk,

до интуиции дело еще не дошло
покажите сам запрос, а не его вариацию с точками, план выполнения и структуру таблиц с размерами
18 сен 19, 18:12    [21973508]     Ответить | Цитировать Сообщить модератору
 Re: Оптимальный выбор индекса  [new]
invm
Member

Откуда: Москва
Сообщений: 9122
assmsk
Какие оптимальные индексы для таблицы REF при таком использовании?
Для такого запроса дополнительные индексы на REF не нужны.
18 сен 19, 18:31    [21973528]     Ответить | Цитировать Сообщить модератору
 Re: Оптимальный выбор индекса  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30776
assmsk
На текущий момент в таблице REF только один уникальный кластерный индекс по полю A_ID
Интуитивно кажется, чтобы ускорить запросы нужен какой-то другой индекс\ы.
Какие оптимальные индексы для таблицы REF при таком использовании?
Если бы в REF была ещё куча полей, то можно было бы сделать уникальный индекс на A_ID, с инклюдом двух других полей.
Но в данном случае, конечно, уникальный кластерный - то, что надо.
18 сен 19, 19:13    [21973566]     Ответить | Цитировать Сообщить модератору
 Re: Оптимальный выбор индекса  [new]
Gerros
Member

Откуда: Харьков
Сообщений: 501
assmsk,

1. перенести B_ID и C_ID в таблицу A никак?
2. where у Вашего запроса есть?
18 сен 19, 21:14    [21973644]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить