title: SQL server : clearing cache has no effect on IO stats
body: <p>Query used:</p>
  
  <p>(had copied the cache cleanup code from somewhere online)</p>
  
  <pre><code>CHECKPOINT; 
  GO 
  DBCC DROPCLEANBUFFERS; 
  GO
  DBCC DROPCLEANBUFFERS
  GO
  
  SET STATISTICS TIME ON;
  SET STATISTICS IO ON;
  
  select a.a,a.b from t1 a JOIN t1 b on a.i=b.i
  </code></pre>
  
  <p>t1 's schema is</p>
  
  <pre><code>CREATE TABLE [dbo].[t1](
      [i] [int] NULL,
      [a] [varchar](1000) NULL,
      [b] [varchar](1000) NULL,
      [c] [varchar](1000) NULL
  ) ON [PRIMARY]
  </code></pre>
  
  <p>And t1 is populated with random data (<code>I</code> ranges from 0-11 and a,b,c are populated with <code>NEWID()</code> values)</p>
  
  <p>It contains about 900 rows (934 to be exact)</p>
  
  <p>The results of executing the query are:</p>
  
  <blockquote>
    <p>SQL Server parse and compile time:     CPU time = 0 ms, elapsed time =
    0 ms.</p>
    
    <p>SQL Server Execution Times:    CPU time = 0 ms,  elapsed time = 55
    ms. SQL Server parse and compile time:     CPU time = 0 ms, elapsed
    time = 0 ms. DBCC execution completed. If DBCC printed error messages,
    contact your system administrator.</p>
    
    <p>SQL Server Execution Times:    CPU time = 0 ms,  elapsed time = 4 ms.
    SQL Server parse and compile time:     CPU time = 0 ms, elapsed time =
    0 ms. DBCC execution completed. If DBCC printed error messages,
    contact your system administrator.</p>
    
    <p>SQL Server Execution Times:    CPU time = 0 ms,  elapsed time = 1 ms.
    SQL Server parse and compile time:     CPU time = 0 ms, elapsed time =
    0 ms.</p>
    
    <p>SQL Server Execution Times:    CPU time = 0 ms,  elapsed time = 0 ms.</p>
    
    <p>SQL Server Execution Times:    CPU time = 0 ms,  elapsed time = 0 ms.</p>
    
    <p>(115974 row(s) affected) Table 'Worktable'. Scan count 0, logical
    reads 0, <strong>physical reads 0</strong>, read-ahead reads 0, lob logical reads 0,
    lob physical reads 0, lob read-ahead reads 0. Table 't1'. Scan count
    2, logical reads 32, <strong>physical reads 0</strong>, read-ahead reads 20, lob
    logical reads 0, lob physical reads 0, lob read-ahead reads 0.</p>
    
    <p>SQL Server Execution Times:    CPU time = 79 ms,  elapsed time =
    15858 ms.</p>
  </blockquote>
  
  <p>As I understand it, a clean cache should result in a significant number of physical reads, shouldn't it?</p>
  
  <p>(SQL server 2012 running on a Win 8 guest VM running on Hyper V on a Win 8 host)</p>