Does the ‘reads’ column in SQL Profiler mean the same as IOPS?

clip art of 
 a double-quote character

Question

I just executed a query that went pretty fast and the SQL Profiler said it used 30.000 reads.
Now I’m looking at this page: https://cloud.google.com/compute/docs/disks/performance and see that a standard persistent disk has 3000 reads IOPS.

Does that mean that my query would take 10 seconds when run there? Or does SQL reads and read IOPS mean a totally different thing?

asked 2016-12-21 by user369117


Answer

One “read” in Profiler simply equates to reading one 8kb page.

This does not equate to IOPS, nor does it necessarily mean that data was read from disk. When performing a read, SQL Server will read data from disk only if that page does not already exist in the buffer cache. All data passes through the buffer cache before being used to satisfy your query.

Therefore, you can think of this number as not having anything to do with disk IO, but instead being a measure of the amount of data read from memory.

answered 2016-12-22 by Andy Mallon