Query Analyzer VS. Query Profiler читает, записывает и определяет длительность - PullRequest
2 голосов
/ 09 октября 2008

Я использую MS Sql Server 2000, и для многих запросов, когда я запускаю запрос в Query Analyzer, при включенной статистике числа, отображаемые на вкладке статистики, сильно отличаются от значений, показанных в Query Profiler. Когда профилировщик и анализатор работают одновременно, некоторые запросы сообщают о 200 чтениях в Analyzer, в то время как профилировщик сообщает, что запрос преформирует 14000 чтений. Исходя из производительности запросов, мне кажется, что Профилировщик прав. Однако, почему существует такое большое расхождение между ними? У кого-нибудь еще есть опыт, когда происходит то же самое?

1 Ответ

1 голос
/ 09 октября 2008

Эти две утилиты делают разные вещи:

  • SQL Profiler наблюдает за происходящим и сообщает об этом.

  • Query Analyzer смотрит на код SQL и выясняет, как его запустить.

Query Analyzer использует статистику, чтобы выяснить, что он собирается делать, но результаты представляют собой план действий, даже если отображается статистика.

SQL Profiler впоследствии сообщает о том, что произошло - он более точен, но имеет обратную силу.

Попробуйте обновить статистику, если обнаружите, что Query Analyzer становится очень неточным.

...