title: Dapper Multiple Query Read is slow
body: <p>I saw many questions about this and Marc Gravell's explanations of why he doesn't want to continue playing with the multiple grid on dapper.</p>
  
  <p>But I just want to understand something</p>
  
  <pre><code>var grid = context.QueryMultiple(string.Join(" ; ", selectCommands));
  return queries.Select(q =&gt; grid.Read&lt;T&gt;()).AsList();
  </code></pre>
  
  <p>In this case the QueryMultiple takes around 3 seconds to execute (which is the pretty much the execution time on the SQL) and the read of the grid which has 2 queries takes 3 seconds at first and then 9 seconds on the second.</p>
  
  <p>There are around 50k rows on each and only 5 columns which 2 are int, 2 double(float on sql) and a datetime.
  I tried to turn off buffering and it didn't help.</p>
  
  <p>Is this because Dapper first Queries the database just to get the queries executed. Then connects to the database again upon request for the read and gets all the data for the specific read?</p>
  
  <p>Would it be better to just create a few async tasks that run together with a single query each?</p>