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

Откуда:
Сообщений: 395
Пытаюсь вывести список всех индексов в моей базе MS SQL Server 2005.
Решил вытащить их запросом.
SELECT TOP 100 * FROM sys.sysindexes WHERE id=object_id('MyTable')
Все отлично.

Но смущают что кроме мною созданных индексов есть еще какие-то странные индексы с названием в поле name что-то типа _WA_Sys_00000004_5B0E7E4A
Вопрос 1: что это за индексы? Для чего они? Кто их создал? Что с ними делать?

Вопрос 2: Запускал (давно) мастер оптимизации Database Engine Tuning Advisor и похоже это он создал мне индекс
_dta_index_MyTable_17_1527676490__K7_K18_1_2_3_4_5_6_8_9_10_11_12_13_14_15_16_17_19_20_21_22_23_24_25_26_27_28
Так вот с ним вообще не понятно, смотрю его описание в Management Studio в описании
General.columns = два столбца моей талблицы
Table Designer.Included column = ВСЕ СТОЛБЦЫ ТАБЛИЦЫ Все 28 штук!!!
Что это значит?
30 ноя 09, 10:35    [7995066]     Ответить | Цитировать Сообщить модератору
 Re: В чем тайна этих индексов?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Их создал DataTuningAdvisor, о чем говорит префикс dta в названии
И это не индексы
30 ноя 09, 10:40    [7995094]     Ответить | Цитировать Сообщить модератору
 Re: В чем тайна этих индексов?  [new]
xdx
Member

Откуда:
Сообщений: 395
Не совсем соглашусь

1. C _WA_Sys_00000004_5B0E7E4A это да наверное это не индексы (со схожим названием их штук 23 таких). И в Management Studio в индексах их не видно. Тогда что делают эти записи в таблице sys.sysindexes ? Что это?

2. _dta_index_MyTable_17_1527676490__K7_K18_1_2_3_4_5_6_8_9_10_11_12_13_14_15_16_17_19_20_21_22_23_24_25_26_27_28
Виден в Management Studio, т.е. это значит настоящий индекс. Вопрос только в том что свойство индекса Table Designer.Included column доступно для чтения и там все столбцы моей таблицы. Просто интересно что это значит?
30 ноя 09, 10:53    [7995178]     Ответить | Цитировать Сообщить модератору
 Re: В чем тайна этих индексов?  [new]
Glory
Member

Откуда:
Сообщений: 104760
xdx
Не совсем соглашусь


Вы еще попробуйте не согласиться с системной функцией INDEXPROPERTY
30 ноя 09, 10:56    [7995217]     Ответить | Цитировать Сообщить модератору
 Re: В чем тайна этих индексов?  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5189
xdx
Не совсем соглашусь

1. C _WA_Sys_00000004_5B0E7E4A это да наверное это не индексы (со схожим названием их штук 23 таких). И в Management Studio в индексах их не видно. Тогда что делают эти записи в таблице sys.sysindexes ? Что это?

2. _dta_index_MyTable_17_1527676490__K7_K18_1_2_3_4_5_6_8_9_10_11_12_13_14_15_16_17_19_20_21_22_23_24_25_26_27_28
Виден в Management Studio, т.е. это значит настоящий индекс. Вопрос только в том что свойство индекса Table Designer.Included column доступно для чтения и там все столбцы моей таблицы. Просто интересно что это значит?


это "гипотетические" индексы и статистика
тынц
тынц #2

Если там все столбцы таблицы, то DTA предложил, как один из вариантов, покрывающий индекс по таблице. У него такое нередко бывает ;)

PS простой поиск по Google помог бы и без нас
30 ноя 09, 11:24    [7995414]     Ответить | Цитировать Сообщить модератору
 Re: В чем тайна этих индексов?  [new]
xdx
Member

Откуда:
Сообщений: 395
1. тынц
Свойство IsHypothetical у них FALSE
Все таки это индексы но какие-то "внутренние"

2. И с этим тоже стало все понятно
Index with Included Columns
тынц

Спасибо.
PS поиск по Google помог, но надо было хоть с чего-то зацепиться.
30 ноя 09, 13:52    [7996579]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить