Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Qu'est-ce que le type d'attente PAGEIOLATCH_SH dans SQL Server ?

De Documentation Microsoft :

En pratique, cela se produit presque toujours en raison de grands balayages sur de grandes tables. Cela ne se produit presque jamais dans les requêtes qui utilisent efficacement les index.

Si votre requête ressemble à ceci :

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

, vérifiez que vous avez un index composite sur (col1, col_primary_key) .

Si vous n'en avez pas, vous aurez besoin soit d'un INDEX SCAN complet si la PRIMARY KEY est choisi, ou un SORT si un index sur col1 est choisi.

Les deux sont très disque I/O consommant des opérations sur de grandes tables.