Я перезапустил SQL Server 2005 и запустил запрос со статистикой ввода-вывода.
Я получил эти результаты:
Таблица «ххх». Сканирование 1, логическое чтение 789, физическое чтение 3, чтение с опережением 794, ...
чтение с опережением - это количество прочитанных и помещенных в кэш страниц. Разве тогда физические чтения должны быть хотя бы одинаковыми?
Кроме того, поскольку это первый запуск запроса, не должно ли логическое чтение быть 0?
Или SQL Server читает страницы физически, помещает их в кеш, а затем читает из кеша? Почему существует счетчик логических чтений, когда кеш должен быть пустым?