У меня есть БД SQL 2005, работающая в виртуальной среде.
Для упрощения, скажем, у меня есть два запроса SQL SELECT.Они оба делают одно и то же.Но я пытаюсь проанализировать их с целью повышения производительности.
Обычно я запускаю локальную БД, загружаю некоторые данные и использую время для сравнения одного варианта с другими вариантами.
Но в этом случае, поскольку БД велика и является тестовой коробкой, клиент разместил ее на хосте, который также обслуживает другие ВМ.
БД слишком большая, чтобы ее можно было разгрузитьлокально, так что это не так (по крайней мере, пока).
Но моя главная проблема заключается в том, что когда я запускаю запросы к серверу, время повсеместно.Я могу выполнить + точный + один и тот же запрос 4 раза и получить время 7 секунд, 8 минут, 3: 45 минут и 15 минут.
Моей первой мыслью было использование SET STATISTICS IO ON.
Но этов основном дает статистику чтения и записи для таблиц, являющихся запросами, которые, в зависимости от изменений в запросах (временные таблицы, против представлений, против объединений и т. д.), не могут быть точно сопоставлены, кроме как в совокупности.
Затем я включил SET STATISTICS TIME ON и просто использовал процессорное время, но это, кажется, сбрасывает со счетов все операции ввода-вывода, что также не обеспечивает хорошей базовой линии.
Мой вопрос - есть ли другие?метод статистики или анализа производительности, который может быть полезен в такой ситуации?