title: What does Statement.setFetchSize(nSize) method really do in SQL Server JDBC driver?
body: <p>I have this really big table with some millions of records every day and in the end of every day I am extracting all the records of the previous day. I am doing this like:</p>
  
  <pre><code>String SQL =  "select col1, col2, coln from mytable where timecol = yesterday";
  Statement.executeQuery(SQL);
  </code></pre>
  
  <p>The problem is that this program takes like 2GB of memory because it takes all the results in memory then it processes it. </p>
  
  <p>I tried setting the <code>Statement.setFetchSize(10)</code> but it takes exactly the same memory from OS it does not make any difference. I am using <em>Microsoft SQL Server 2005 JDBC Driver</em> for this.</p>
  
  <p>Is there any way to read the results in small chunks like the Oracle database driver does when the query is executed to show only a few rows and as you scroll down more results are shown?</p>