2008-10-09 1 views
2

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

+0

Логические или физические чтения? – 2008-10-09 10:29:54

ответ

1

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

  • SQL Profiler наблюдает за то, что происходит, и отчеты о ней.

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

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

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

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

+0

«Анализатор запросов использует статистику, чтобы выяснить, что он собирается делать, но результаты - это план действий, даже если статистика отображается.» А? Если вы запускаете запрос со статистикой, запрос выполняется и результаты верны. – 2008-10-09 15:18:48