Индексы SQL Server не работают - PullRequest
0 голосов
/ 10 июня 2010

Я установил некоторые индексы на тестовом сервере и на моей собственной машине, и он отлично работал. Но когда я попытался поместить данные на рабочий сервер (скопировав все тестовые данные с помощью мастера импорта / экспорта и после установки первичных ключей, а затем FK и индексов), индексы, похоже, не работали.

Они есть, но запросы действительно очень медленные, так как индексов там не было вообще. Чего мне не хватает? Я отметил, что производственные индексы немного более фрагментированы, чем тестовые индексы.

Я пытался перестроить и реорганизовать индексы, но это не сработало. Я использую SQL Server 2005 (90).

1 Ответ

0 голосов
/ 10 июня 2010

Я установил некоторые индексы на тестовом сервере и на моей собственной машине, и он отлично работал.Но когда я пытался поместить данные на производственный сервер

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

Посмотрите на план выполнения и посмотрите, видите ли вы ищите илисканы

Обычно индексы не будут использоваться, если запросы не являются SARGable или селективность индекса слишком низкая

Также статистика создается и поддерживается в рабочей коробке?

Взгляните на На вашем испытательном стенде должен быть тот же объем данных, что и на производстве, чтобы имитировать обычное использование , чтобы получить некоторые идеи о том, как проверять запросы SARGable

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