2 ответов:
С MSDN:
PAGEIOLATCH_SHимеет место, когда задача ожидает кратковременной блокировки буфера, находящегося в
I/Oзапрос. Запрос защелки находится в общем режиме. Длительное ожидание может указывать на проблемы с дисковой подсистемой.на практике, это почти всегда происходит из-за большой сканирование больших таблиц. Это почти никогда не происходит в запросах, которые эффективно используют индексы.
если ваш запрос выглядит так:
Select * from <table> where <col1> = <value> order by <PrimaryKey>, проверьте, что у вас есть составной индекс по
(col1, col_primary_key).если у вас его нет, то вам понадобится либо полный
INDEX SCANеслиPRIMARY KEYвыбирается, илиSORTесли индекс это.оба они очень диск
I/Oдлительных операций на больших таблицах.
PAGEIOLATCH_SHтип ожидания обычно появляется в результате фрагментированного или неоптимизированного индекса.часто причины для чрезмерного
PAGEIOLATCH_SHтип ожидания:
- подсистема ввода-вывода имеет проблему или неправильно настроена
- перегружена подсистема ввода-вывода другими процессами, которые производят высокую активность ввода-вывода
- плохое управление индексом
- логический или физический диск заблуждение
- сеть проблемы / задержка
- памяти
- Синхронное зеркальное отображение и AlwaysOn AG
для того, чтобы попытаться решить, имея высокий
PAGEIOLATCH_SHтип ожидания, вы можете увидеть:
- SQL Server, запросы и индексы, так как очень часто это может быть найдено в качестве основной причины чрезмерного
PAGEIOLATCH_SHтипы подождать- для давления памяти перед прыжком в любую подсистему ввода-вывода устранение неполадок
всегда имейте в виду, что в случае высокой безопасности зеркального отображения или синхронной фиксации доступности в AlwaysOn AG, увеличено / чрезмерно
PAGEIOLATCH_SHможно ожидать.вы можете найти более подробную информацию об этой теме в статье обработка избыточных типов ожидания SQL Server PAGEIOLATCH_SH
Comments