title: why do some columns slow down the query
body: <p>I am using SQL Server 2012.</p>
  
  <p>I am trying to optimize a query which is somehting like this:</p>
  
  <pre><code>SELECT TOP 20 ta.id, 
                ta.name, 
                ta.amt, 
                tb.id, 
                tb.name, 
                tc.name, 
                tc.id, 
                tc.descr 
  FROM   a ta 
         INNER JOIN b tb 
                 ON ta.id = tb.id 
         INNER JOIN c tc 
                 ON tb.id = tc.id 
  ORDER  BY ta.mytime DESC 
  </code></pre>
  
  <p>The query takes around 5 - 6 secs to run. There are indexes for all the columns used in joins. The tables have 500k records.</p>
  
  <p>My question is: When I remove the columns tc.name, tc.id and tc.descr from the select, the query returns the results in less than a second. Why?</p>