Должен ли я использовать индекс в этом сценарии? - PullRequest
2 голосов
/ 27 января 2011

Я новичок в базе данных и борюсь с проблемой.Я использую SQL Server 2005.

У меня есть таблица (таблица аудита), которая получает свои данные из триггера другой таблицы (основной таблицы).В таблице Audit не может быть PK, поскольку могут быть дубликаты.У этого есть приблизительно 15 миллионов рядов.Я выполняю запрос на обновление, который приводит к сканированию таблицы.

Я хочу знать, если я добавлю некластеризованный индекс, как я могу проверить его влияние на вставки / удаления.При добавлении индекса Adter, будет ли сценарий, когда данные, поступающие из триггера, будут потеряны, потому что сервер слишком занят восстановлением таблицы / индекса?

Спасибо Vikram

1 Ответ

3 голосов
/ 27 января 2011

Вы всегда можете добавить столбец IDENTITY в качестве первичного ключа и кластерного индекса. Так как это автоинкремент, у вас не должно быть много проблем с фрагментацией индекса.

Что касается потери данных из триггера, поскольку сервер слишком занят восстановлением индекса - нет, этого никогда не должно быть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...