Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Che cos'è il tipo di attesa PAGEIOLATCH_SH in SQL Server?

Da Documentazione Microsoft :

In pratica, questo accade quasi sempre a causa di grandi scansioni su grandi tavoli. Non succede quasi mai nelle query che utilizzano gli indici in modo efficiente.

Se la tua domanda è così:

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

, controlla di avere un indice composito su (col1, col_primary_key) .

Se non ne hai uno, avrai bisogno di uno INDEX SCAN completo se il PRIMARY KEY viene scelto o un SORT se un indice su col1 viene scelto.

Entrambi sono molto disco I/O consumando operazioni su tavoli di grandi dimensioni.