Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was ist der Wartetyp PAGEIOLATCH_SH in SQL Server?

Von Microsoft-Dokumentation :

In der Praxis geschieht dies fast immer durch große Scans über große Tabellen. Es passiert fast nie in Abfragen, die Indizes effizient verwenden.

Wenn Ihre Abfrage so lautet:

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

, prüfen Sie, ob Sie einen zusammengesetzten Index für (col1, col_primary_key) haben .

Wenn Sie keinen haben, benötigen Sie entweder einen vollständigen INDEX SCAN wenn der PRIMARY KEY ausgewählt ist, oder ein SORT wenn ein Index auf col1 ausgewählt.

Beide sind sehr Festplatten-I/O verbrauchende Operationen auf großen Tabellen.