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

Откуда:
Сообщений: 1667
Дано: SQL Server 2012 (SP4) Enterprise Edition.
На сервере есть база данных, в которой существует ряд таблиц, к которым строятся разные запросы.
При этом часть запросов индексами НЕ ПОКРЫТА. Ок, думаю, не порядок. А посмотрю я
dm_db_missing_index_details
и компанию. Смотрю... И...
dm_db_missing_index_details
в моей базе не находит отсутствующие индексы! Вообще!
Во всех базах находит, а в моей нет!

И когда смотришь предварительный и действительный планы выполнения - подсказок по отсутствующим индексам тоже нет.

Собственно вопросы - почему нет данных по отсутствующим индексам в БД и как побороть эту ситуацию?

Очистку планов выполнения запросов я не проводил, а больше никому эта база и не нужна.
9 апр 18, 18:44    [21324486]     Ответить | Цитировать Сообщить модератору
 Re: dm_db_missing_index_details не находит отсутствующие индексы в базе данных  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1667
Число записей в sys.dm_db_missing_index_group - 486, так что предел в 500 записей не достигнут, хотя и близок.
9 апр 18, 18:50    [21324506]     Ответить | Цитировать Сообщить модератору
 Re: dm_db_missing_index_details не находит отсутствующие индексы в базе данных  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1172
DaniilSeryi,

select has_perms_by_name('имя базы даных', 'database', 'view database state')
9 апр 18, 20:04    [21324597]     Ответить | Цитировать Сообщить модератору
 Re: dm_db_missing_index_details не находит отсутствующие индексы в базе данных  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
DaniilSeryi,

Ну либо у вас и правда все заоптимизировано, либо таблицы пустые, либо какой нибудь горе-дба включил AUTO_CLOSE.
10 апр 18, 00:07    [21324902]     Ответить | Цитировать Сообщить модератору
 Re: dm_db_missing_index_details не находит отсутствующие индексы в базе данных  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Можете еще конечно сравнить все настройки с остальными базами.
10 апр 18, 00:09    [21324906]     Ответить | Цитировать Сообщить модератору
 Re: dm_db_missing_index_details не находит отсутствующие индексы в базе данных  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1667
felix_ff
DaniilSeryi,

select has_perms_by_name('имя базы даных', 'database', 'view database state')


1
10 апр 18, 11:37    [21325745]     Ответить | Цитировать Сообщить модератору
 Re: dm_db_missing_index_details не находит отсутствующие индексы в базе данных  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1667
Mind
DaniilSeryi,

Ну либо у вас и правда все заоптимизировано, либо таблицы пустые, либо какой нибудь горе-дба включил AUTO_CLOSE.


Да в том-то и дело, что таблица - без индексов вообще, не пустая - 26748 строк. AUTO_CLOSE false.
10 апр 18, 11:41    [21325771]     Ответить | Цитировать Сообщить модератору
 Re: dm_db_missing_index_details не находит отсутствующие индексы в базе данных  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30759
DaniilSeryi
При этом часть запросов индексами НЕ ПОКРЫТА. Ок, думаю, не порядок. А посмотрю я
dm_db_missing_index_details

и компанию. Смотрю... И...
dm_db_missing_index_details

в моей базе не находит отсутствующие индексы! Вообще!
Во всех базах находит, а в моей нет!
"отсутствующие индексы" - вообще непонятно что такое :-)
Это "рекомендованные" индексы.
Возможно, для условий выборки из этой таблицы нельзя сделать индекс?
10 апр 18, 11:48    [21325806]     Ответить | Цитировать Сообщить модератору
 Re: dm_db_missing_index_details не находит отсутствующие индексы в базе данных  [new]
DaniilSeryi
Member

Откуда:
Сообщений: 1667
alexeyvg,

Если бы у меня было просто select * from dbo.table, то никаких индексов не потребовалось.
Но так как у меня и Where, и Order by, то индекс тут сам собой напрашивается, разве нет? Тем более, что в плане 96% запроса - это просмотр строк таблицы.
С другой стороны - число строк не превышает 28000.
С третьей стороны - запрос выполняется мгновенно, так чего я фигнёй страдаю?
С четвёртой стороны - но индекс-то всё равно напрашивается, или тут статистик достаточно, благо что они автоматически создаются?
10 апр 18, 12:52    [21326174]     Ответить | Цитировать Сообщить модератору
 Re: dm_db_missing_index_details не находит отсутствующие индексы в базе данных  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 7396
DaniilSeryi,

Ваш таблица может занимать меньше экстента. Дуете на воду.
10 апр 18, 13:16    [21326313]     Ответить | Цитировать Сообщить модератору
 Re: dm_db_missing_index_details не находит отсутствующие индексы в базе данных  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5112
DaniilSeryi
При этом часть запросов индексами НЕ ПОКРЫТА. Ок, думаю, не порядок.
...
С третьей стороны - запрос выполняется мгновенно, так чего я фигнёй страдаю?
"фигнёй" скорее всего не совсем подходящее определение :)
DaniilSeryi
С четвёртой стороны - но индекс-то всё равно напрашивается
ну, создайте вы индекс какой вам так хочется, посмотрите план (используется ли он и стало ли лучше по io/cpu).
10 апр 18, 13:35    [21326409]     Ответить | Цитировать Сообщить модератору
 Re: dm_db_missing_index_details не находит отсутствующие индексы в базе данных  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 30759
DaniilSeryi
Если бы у меня было просто select * from dbo.table, то никаких индексов не потребовалось.
Но так как у меня и Where, и Order by, то индекс тут сам собой напрашивается, разве нет? Тем более, что в плане 96% запроса - это просмотр строк таблицы.
Where не означает возможность использования инедкса (если там такие условия, при которых инедкс не может быть использован), Order by тоже (если сортировка по формуле)
DaniilSeryi
С четвёртой стороны - но индекс-то всё равно напрашивается,
Так вы посмотрите план (только актуальный), с индексом и без, нуу и статистику выполнения.
Если там будет в 100 раз быстрее, и index seek в плане, то да, индекс нужен.
10 апр 18, 15:27    [21326897]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить