SQL Profiler: Read/Write units
- by Ian Boyd
i've picked a query out of SQL Server Profiler that says it took 1,497 reads:
EventClass: SQL:BatchCompleted
TextData: SELECT Transactions....
CPU: 406
Reads: 1497
Writes: 0
Duration: 406
So i've taken this query into Query Analyzer, so i may try to reduce the number of reads.
But when i turn on SET STATISTICS IO ON to see the IO activity for the query, i get nowhere close to one thousand reads:
Table Scan Count Logical Reads
=================== ========== =============
FintracTransactions 4 20
LCDs 2 4
LCTs 2 4
FintracTransacti... 0 0
Users 1 2
MALs 0 0
Patrons 0 0
Shifts 1 2
Cages 1 1
Windows 1 3
Logins 1 3
Sessions 1 6
Transactions 1 7
Which if i do my math right, there is a total of 51 reads; not 1,497.
So i assume Reads in SQL Profiler is an arbitrary metric. Does anyone know the conversion of SQL Server Profiler Reads to IO Reads?
See also
SQL Profiler CPU / duration unit
Query Analyzer VS. Query Profiler Reads, Writes, and Duration Discrepencies