programing

SQL Server에서 PAGEIOLACH_SH 대기 유형은 무엇입니까?

newstyles 2023. 4. 19. 22:34

SQL Server에서 PAGEIOLACH_SH 대기 유형은 무엇입니까?

거래 중에 시간이 오래 걸리는 질문이 있습니다.내가 그 물건을 얻었을 때wait_type그 과정의 바로 그것이다.PAGEIOLATCH_SH.

이 대기 유형은 무엇을 의미하며 어떻게 해결할 수 있습니까?

Microsoft메뉴얼로부터:

PAGEIOLATCH_SH

태스크가 버퍼의 래치로 대기하고 있을 때 발생합니다.I/O부탁한다.래치 요구가 공유 모드입니다.대기시간이 길면 디스크 서브시스템에 문제가 있을 수 있습니다.

실제로는 큰 테이블에 대한 큰 스캔으로 인해 거의 항상 이 문제가 발생합니다.인덱스를 효율적으로 사용하는 쿼리에서는 거의 발생하지 않습니다.

쿼리가 다음과 같은 경우:

Select * from <table> where <col1> = <value> order by <PrimaryKey>

컴포지트 인덱스가 켜져 있는지 확인합니다.(col1, col_primary_key).

만약 없다면, 풀사이즈가 필요하실 겁니다.INDEX SCAN만약PRIMARY KEY선택되었거나, 또는SORT에 대한 지표가 있다면col1선택되었습니다.

둘 다 매우 디스크입니다.I/O큰 테이블에서의 작업을 소비합니다.

PAGEIOLATCH_SH일반적으로 wait 타입은 fragment화 또는 최적화되지 않은 인덱스의 결과로 표시됩니다.

과도한 이유인 경우가 많다PAGEIOLATCH_SHwait 타입은 다음과 같습니다.

  • I/O 서브시스템에 문제가 있거나 잘못 구성되었습니다.
  • 높은 I/O 액티비티를 생성하는 다른 프로세스에 의해 I/O 서브시스템 과부하
  • 잘못된 인덱스 관리
  • 논리 드라이브 또는 물리 드라이브의 오인
  • 네트워크 문제/레이텐시
  • 메모리 압력
  • 동기식 미러링 및 상시(AlwaysOn) AG

고주망태가 아니라PAGEIOLATCH_SHwait type, 확인할 수 있습니다.

  • SQL Server, 쿼리 및 인덱스(대부분의 경우)가 과도한 문제의 근본 원인일 수 있습니다.PAGEIOLATCH_SH대기 유형
  • I/O 서브시스템의 트러블 슈팅에 착수하기 전의 메모리 부하에 대해서

AlwaysOn AG에서 안전성이 높은 미러링 또는 동기화-커밋 가용성의 경우 증가/과도하다는 점을 항상 염두에 두십시오.PAGEIOLATCH_SH예상할 수 있습니다.

이 항목에 대한 자세한 내용은 과도한 SQL Server PAGEIOLACH_SH 대기 유형 처리 문서에서 확인할 수 있습니다.

언급URL : https://stackoverflow.com/questions/620626/what-is-pageiolatch-sh-wait-type-in-sql-server