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

Откуда:
Сообщений: 29
Добрый день!
В БД с которой я работаю (MSSQL 2008R2) в таблицах есть индексы вида Index1(Column1,Column2),Index2(Columun2,Column1).

Первый вопрос у меня возник, это не ошибка? Индексы то одинаковые, отличается только порядок строк.
Если не ошибка, то как понять какой из них использовать в запросе, который включает в условии эти 2 колонки.

Второй вопрос, к примеру есть индекс вида Index3(Column1,Column2,Column3,Column4)
Мой запрос к примеру использует в условии только колонки Column 2,Column4.
Использовать ли данный индекс в таком случае, если он не покрывает полностью условия запроса? И что лучше отсутствие индекса вовсе, либо использование этого индекса?
21 окт 13, 10:17    [15006528]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по использованию индексов  [new]
Glory
Member

Откуда:
Сообщений: 104760
Nigg
Первый вопрос у меня возник, это не ошибка?

Не ошибка

Nigg
Индексы то одинаковые, отличается только порядок строк.

Поэтому индексы и разные

Nigg
Если не ошибка, то как понять какой из них использовать в запросе, который включает в условии эти 2 колонки.

Индексы использует сервер. Он делает выбор.
21 окт 13, 10:22    [15006541]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по использованию индексов  [new]
Nigg
Member

Откуда:
Сообщений: 29
То что это не ошибка теперь понятно, но можно, пожалуйста, получить немного более подробный ответ на мой вопрос?
Индексы нужно указывать самому, т.к. сервер порой делает table scan если не указать явно в сложно запросе.
21 окт 13, 10:29    [15006573]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по использованию индексов  [new]
Glory
Member

Откуда:
Сообщений: 104760
Nigg
Индексы нужно указывать самому,

Не нужно
Nigg
т.к. сервер порой делает table scan если не указать явно в сложно запросе.

Вот вы на основании чего считаете, что использование вашего индекса лучше сканирования таблицы ?
21 окт 13, 10:31    [15006585]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по использованию индексов  [new]
Nigg
Member

Откуда:
Сообщений: 29
Nigg
т.к. сервер порой делает table scan если не указать явно в сложно запросе.

Вот вы на основании чего считаете, что использование вашего индекса лучше сканирования таблицы ?[/quot]

Ну порой при указании индекса, запрос отрабатывает в разы быстрее, чем если бы он не был указан.
21 окт 13, 10:37    [15006619]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по использованию индексов  [new]
Glory
Member

Откуда:
Сообщений: 104760
Nigg
Ну порой при указании индекса, запрос отрабатывает в разы быстрее, чем если бы он не был указан.

Вы это как определяете то ? По морганию индикатора диска ? Считаете такты процессора ?
21 окт 13, 10:39    [15006630]     Ответить | Цитировать Сообщить модератору
 Re: Вопрос по использованию индексов  [new]
Nigg
Member

Откуда:
Сообщений: 29
Glory
Nigg
Ну порой при указании индекса, запрос отрабатывает в разы быстрее, чем если бы он не был указан.

Вы это как определяете то ? По морганию индикатора диска ? Считаете такты процессора ?

По времени выполнения работы запроса, к примеру без индекса он отрабатывает 10 секунд, с индексом - 1 сек.
Запросы отсылаются на сервер клиентским приложением.
21 окт 13, 10:46    [15006677]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить