Ответ
После оптимизации необходимо оценивать комплекс метрик, а не одну. Ключевые из них:
- Время выполнения (Execution Time / Duration) — прямой показатель улучшения. Сравните
ДОиПОСЛЕ. - Потребляемые ресурсы:
- Логические чтения (Logical Reads) — количество страниц, прочитанных из кэша данных. Сильное снижение указывает на более эффективное использование индексов и меньшее обращение к данным.
- Физические чтения (Physical Reads) — чтения с диска. Их уменьшение снижает нагрузку на I/O.
- План выполнения (Execution Plan):
- Убедитесь, что исчезли дорогостоящие операции: Table Scans, Key Lookups, Sorts в памяти.
- Появились эффективные операции: Index Seek, Merge Join.
- Снизилась оценочная стоимость (Estimated Subtree Cost).
Практический пример анализа (псевдокод):
-- До оптимизации
-- Время: 1500 мс, Logical Reads: 10,000
SELECT * FROM Orders WHERE Status = 'Pending' ORDER BY CreatedDate;
-- После добавления индекса (Status, CreatedDate)
-- Время: 25 мс, Logical Reads: 150
SELECT * FROM Orders WHERE Status = 'Pending' ORDER BY CreatedDate;
Вывод: Успешная оптимизация подтверждается существенным снижением времени выполнения и количества логических чтений, а также более оптимальным планом запроса.