Я виявив, що безкоштовний сценарій BlitzIndex Brent Ozar Unlimited (написаний Кендра Літл) - найкращий спосіб виділити невикористані індекси (а також індекси, які вигідно додавати, індекси, що дублюють роботу інших індексів тощо)
http://www.brentozar.com/blitzindex/
Він повідомить вам, скільки разів було прочитано будь-який індекс з моменту останнього скидання статистичних підрахунків (або створено / відтворито індекс).
Мені здається, я пам’ятаю, що Брент Озар говорив у веб-трансляції, що гарне правило - це не більше 10 індексів для таблиці, яка читається часто, 20 балів для таблиць, які є статичними / історичними / заархівованими даними, які не змінюватимуться часто.
Якщо у вас все ще виникають проблеми зі швидкістю імпорту, є час, коли база даних не запитується активно (можливо, це поза робочим часом). Може бути корисним скинути індекс, імпортувати дані, а потім повторно застосувати індекси. (Статистика буде скинуто, звичайно.) Причиною цього є те, що індекси (и) оновлюватимуться по мірі надходження кожного запису, сторінки будуть упорядковані, і це потребує часу та дискового вводу / виводу. Побудова індексів після вимагає одного сканування таблиці.
Немає жорсткого і швидкого правила, можливо, вам не доведеться експериментувати з цим залежно від типів індексу та даних, що беруться. Індекси слід регулярно переглядати при зміні потреб / запитів.
sys.dm_db_index_usage_stats
надає цю інформацію.