оптимизировать SP на сервере sql 2k5 - PullRequest
0 голосов
/ 18 января 2012

Я задал вопрос запрос большой таблицы .Это в ответ на тот же вопрос.В предложении where есть 4 столбца.Я заменил курсор на цикл while.Но не сильно помог.Разница между старым и новым кодом составляет всего 1 секунду.Но одну вещь я заметил.Есть один столбец [col name] varchar(255) allow nulls.Если я не запрашиваю этот столбец, время выполнения нового кода уменьшается вдвое.Что можно сделать, чтобы улучшить скорость?Все столбцы в предложении where проиндексированы.Мы ценим любую помощь

1 Ответ

3 голосов
/ 18 января 2012

Курсоры и циклы while одинаково плохие идеи.Вероятность того, что вам тоже не понадобится, составляет 90%.Если у вас много записей, переменные таблиц, как правило, также находятся на медленной стороне.Вместо этого используйте временные таблицы (хотя из того, что вы положили в переменную таблицы, я подозреваю, что вам это тоже не нужно).

Эта ссылка может быть полезна:

http://wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them

Чтобы получить подробное объяснение о том, как улучшить свою работу, вы должны показать нам, что вы делаетеВы удалили самую важную часть для ответа на вопрос.

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