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

Откуда: Чебаркуль
Сообщений: 3970
Нашел два индекса на той же таблице, с разными именами, но содержащие те же поля.

Можно ли определить - какой из них удалить?
30 мар 17, 18:39    [20352180]     Ответить | Цитировать Сообщить модератору
 Re: Какой индекс удалить?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
Индексы могут отличаться не только полями.
30 мар 17, 18:40    [20352185]     Ответить | Цитировать Сообщить модератору
 Re: Какой индекс удалить?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3970
Гавриленко Сергей Алексеевич
Индексы могут отличаться не только полями.


понимаю, но там 1=1
30 мар 17, 18:42    [20352190]     Ответить | Цитировать Сообщить модератору
 Re: Какой индекс удалить?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
Ролг Хупин
Гавриленко Сергей Алексеевич
Индексы могут отличаться не только полями.


понимаю, но там 1=1
Как вы в этом убедились?

Сообщение было отредактировано: 30 мар 17, 18:45
30 мар 17, 18:45    [20352196]     Ответить | Цитировать Сообщить модератору
 Re: Какой индекс удалить?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3970
Гавриленко Сергей Алексеевич
Ролг Хупин
пропущено...


понимаю, но там 1=1
Как вы в этом убедились?


посмотрел на скрипт создания
30 мар 17, 18:46    [20352199]     Ответить | Цитировать Сообщить модератору
 Re: Какой индекс удалить?  [new]
Кесарь
Member

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

select object_name(object_id), * 
from   sys.sql_modules as sm
where  sm.definition like '%Имя_Индекса%'

Если нет, удаляй любой, второму делай ребилд. Если один используется, удаляй второй, если оба, переназначь на один, и опять же удали второй. И лучше обнови статистику по таблице с полным сканированием.
30 мар 17, 18:48    [20352208]     Ответить | Цитировать Сообщить модератору
 Re: Какой индекс удалить?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37143
Ролг Хупин
Гавриленко Сергей Алексеевич
пропущено...
Как вы в этом убедились?


посмотрел на скрипт создания
Тогда удалите тот, у которого имя длинее. При условии, конечно, что его хинтами не вкорячили в запросы по имени/индексу.
30 мар 17, 18:49    [20352209]     Ответить | Цитировать Сообщить модератору
 Re: Какой индекс удалить?  [new]
aleks2
Guest
Шо за проблемы?

1. Посмотри, какой используется.
2. Удали ненужный
SELECT top(100)   OBJECT_NAME(S.[OBJECT_ID]) AS [OBJECT NAME]
       , I.[NAME] AS [INDEX NAME]
       , USER_SEEKS
       , USER_SCANS
       , USER_LOOKUPS
       , USER_UPDATES 
  FROM SYS.DM_DB_INDEX_USAGE_STATS AS S
       INNER JOIN SYS.INDEXES AS I ON I.[OBJECT_ID] = S.[OBJECT_ID] AND I.INDEX_ID = S.INDEX_ID 
       WHERE  S.[OBJECT_ID] = OBJECT_ID('схема.Таблица')
30 мар 17, 18:49    [20352212]     Ответить | Цитировать Сообщить модератору
 Re: Какой индекс удалить?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3970
Гавриленко Сергей Алексеевич
Ролг Хупин
пропущено...


посмотрел на скрипт создания
Тогда удалите тот, у которого имя длинее. При условии, конечно, что его хинтами не вкорячили в запросы по имени/индексу.


явно в запросах индексы не используются.
30 мар 17, 18:51    [20352217]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить