Удаление неиспользуемых индексов - PullRequest
1 голос
/ 17 февраля 2020

Я имею в виду блог Unused Index Script.

Я узнал, что если Seek = 0, Scan = 0, Lookup = 0, User Update = 0, то мы должны удалить индекс, так как он не нужен.

Неиспользуемый скрипт дает мне много индексов, но я должен удалить все эти индексы? Не могли бы вы помочь мне понять, как определить фактический неиспользуемый индекс из данного сценария.

Я бы хотел знать важность между столбцами UserSeek, UserScans, UserLookups, UserUpdates, прежде чем удалять .

Unused Index Script - Click here

1 Ответ

1 голос
/ 17 февраля 2020

seeks, scans и lookups - это операции чтения, которые полезны для производительности запросов. updates - это вставки в индекс или его обновление. Эти обновления считаются негативным побочным эффектом индексации.

Первое и единственное правило в черной области индексации: создайте резервную копию индексов перед их изменением. Просто запишите их и сохраните на потом. Не забудьте указать дату файла, чтобы можно было сопоставить любое снижение производительности базы данных.

Несколько вещей, которые нужно понять:

  1. Столбцы, на которые вы ссылаетесь (UserSeeks, et c.) поступают из MS SQL DMV (Dynami c Management View). Эти показатели эфемерны, то есть они сбрасываются при каждом перезапуске службы (например, при перезагрузке сервера). Так что имейте в виду, что поиск, сканирование и т. Д. c не будут отражать историческую активность.
  2. Даже если индекс имеет много обновлений и мало полезных операций - полезные операции могут быть очень важными. Они (например) могут отвечать за выполнение запроса, который в противном случае выполнялся бы в течение часа, выполняется в секунду или около того.
  3. Даже если вы не видите полезной активности в индексе в течение нескольких месяцев, он все еще может использоваться какой-либо редко доступной частью программного обеспечения, которое использует программное обеспечение - например, какое-то ежемесячное или ежегодное обслуживание.

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

...