Если вы заинтересованы в минимизации ввода-вывода при чтении данных, вам нужно проверить, покрывают ли индексы запрос или нет. Чтобы минимизировать IO, вы должны выбрать столбец, включенный в индекс, или индексы, которые охватывают все столбцы, используемые в запросе, таким образом оптимизатор будет считывать данные из индексов и никогда не будет читать данные из фактических строк таблицы.
Если вы изучаете детали такого рода, возможно, вам следует подумать об обновлении HW, замене контроллеров или добавлении большего количества дисков, чтобы иметь больше дисковых шпинделей, доступных для обработчика запросов, и, таким образом, позволяя SQL считывать больше данных одновременно
< бр />
Дисковый ввод-вывод SQL Server часто является причиной узких мест в большинстве систем. Подсистема ввода / вывода включает в себя диски, платы контроллера дисков и системную шину. Если дисковый ввод / вывод постоянно высок, рассмотрим:
Переместите некоторые файлы базы данных на дополнительный диск или сервер.
Используйте более быстрый дисковод или избыточный массив недорогих дисков (RAID).
Добавьте дополнительные диски в массив RAID, если он уже используется.
Настройте свое приложение или базу данных, чтобы уменьшить количество операций доступа к диску.
Рассмотрите охват индекса, лучшие показатели и / или нормализацию.
Microsoft SQL Server использует вызовы ввода-вывода Microsoft Windows для чтения и записи на диск. SQL Server управляет, когда и как выполняется дисковый ввод-вывод, но операционная система Windows выполняет основные операции ввода-вывода. Приложения и системы, связанные с вводом-выводом, могут поддерживать диск постоянно активным.
Различные дисковые контроллеры и драйверы используют различное количество процессорного времени для выполнения дискового ввода-вывода. Эффективные контроллеры и драйверы используют меньше времени, оставляя больше времени обработки для пользовательских приложений и увеличивая общую пропускную способность.