A logical read requests a database page through the buffer cache. A customer asked about that measure after my STATISTICS IO video.

An ordinary rowstore page is 8 KiB. One hundred logical reads therefore represent about 800 KiB of page access. Those need not be distinct pages or newly read data. A plan can revisit the same page.
SET STATISTICS IO ON;
SELECT ProductID, Name FROM Production.Product WHERE ProductID BETWEEN 1 AND 100;
SET STATISTICS IO OFF;Run the example in an installed AdventureWorks sample and read Messages. An absent cached page requires a physical read. Read-ahead and large-object accounting have separate fields. Logical reads alone don’t establish disk traffic.
Reducing unnecessary accesses can help. Compare the same query and parameters while retaining correct results. Logical reads don’t measure duration, CPU, contention or result size. The short video provides the original explanation.
Related reading
- Comprehensive Database Performance Health Check
- SET STATISTICS IO ON – SQL in Sixty Seconds #128
- subscribe to my youtube channel
A logical read is not necessarily a disk read, it is a page access through the buffer cache.
Published by Pinal Dave on SQLAuthority. More of my work at pinaldave.com.
Discover more from SQL Authority with Pinal Dave
Subscribe to get the latest posts sent to your email.




