Создание и удаление случайного индекса в таблице неожиданно повышает производительность в SQL серверной базе данных - PullRequest
0 голосов
/ 01 апреля 2020

Время от времени мы сталкиваемся со следующей проблемой:

Пользователь сообщает, что приложение работает медленно, когда оно пытается выполнить определенные действия. После устранения неполадок я обнаружил, что любое действие, выполняемое со стороны приложения, которое обращается к определенной таблице (большой таблице) в базе данных SQL Server, выполняется медленно.

Общая производительность базы данных хорошая. Если я создаю просто случайный индекс для этой таблицы, а затем сразу же удаляю его, это, похоже, решает проблему. Я не понимаю, почему эта проблема продолжает происходить время от времени, а затем исправляется, если я создаю какой-либо случайный индекс для этой таблицы, а затем немедленно удаляю его.

У меня есть задание на обслуживание индекса, которое каждые 2 недели перестраивает / реорганизует фрагментированные индексы. Я хотел бы понять, что делает создание и удаление индекса в фоновом режиме в таблице, которая может решить эту проблему. Кроме того, как я могу найти причину root для этого, я имею в виду, есть ли какое-то повреждение, которое продолжает происходить в этой таблице, которое исправляется, когда я создаю и удаляю индекс?

Я использую AWS RDS SQL Сервер

...