Quelles unités sont "lues" et "écrites" dans dm_exec_query_stats

8

MSDN décrit les différentes colonnes de lecture et d'écriture logiques / physiques dans dm_exec_query_stats comme:

Nombre de lectures physiques effectuées lors de la dernière exécution du plan.

Ces colonnes sont toutes des ints 64 bits ( bigint), donc des nombres évidemment plus grands représentent plus de lectures / écritures.

Mais quelles sont les unités de cette colonne? Pages de base de données? Kilo-octets? Juste un nombre arbitraire?

Exemple: pour une requête raisonnablement coûteuse dans ma base de données dm_exec_query_stats.total_logical_reads = 40412.

40412 de quoi?

ligos
la source

Réponses:

9

Les lectures et les écritures sont exprimées en termes de "nombre de pages 8K". Il devrait être mieux documenté sur la page que vous référencez, mais vous pouvez l'assembler à partir d'autres zones de la documentation, par exemple à partir des pages de lecture :

Une lecture logique se produit chaque fois que le moteur de base de données demande une page à partir du cache de tampon. Si la page n'est pas actuellement dans le cache de tampon, une lecture physique copie d'abord la page du disque dans le cache.

Et à partir de la compréhension des pages et des étendues :

Dans SQL Server, la taille de la page est de 8 Ko.

Aaron Bertrand
la source
Merci Aaron, je soupçonnais que ce serait des pages. J'ai marqué votre réponse comme correcte à cause de vos références.
ligos
2

Nombre de pages lues et écrites.

Pour la plupart, tout est rapporté dans les pages, sauf si quelque chose d'autre est spécifié.

mrdenny
la source