title: Flush InnoDB cache
body: <p>I have some reporting queries that are rarely run, which I need to be performant without relying on them being cached anywhere in the system. In testing various schema and sproc changes I'll typically see the first run be very slow and subsequent runs fast, so I know there's some caching going on that's making it cumbersome to test changes. Restarting mysqld or running several other large queries are the only reliable ways to reproduce it. I'm wondering if there's a better way.</p>
  
  <p>The MySQL Query Cache is turned OFF.</p>
  
  <p>Monitoring the disk, I don't see any reads happening except on the first run. I'm not that familiar with disk cache but I would expect if that's where the caching is happening I'd still see disk reads, they'd just be very fast.</p>
  
  <p>MONyog gives me what I think is the definitive proof, which is the InnoDB cache hit ratio. Monitoring it I see that when the query's fast it's hitting the InnoDB buffer, when it's slow it's hitting disk.</p>
  
  <p>On a live system I'll gladly let InnoDB do this, but for development and test purposes I'm interested in worst case scenarios.</p>
  
  <p>I'm using MySQL 5.5 on Windows Server 2008R2</p>