SQL Query is slow when ORDER BY statement added
<p>I have a table <code>[Documents]</code> with the following columns:</p>

<pre><code>Name (string)
Status (string)
DateCreated [datetime]
</code></pre>

<p>This table has around 1 million records. All three of these columns have an index (a single index for each one).</p>

<p>When I run this query:</p>

<pre><code>select top 50 *  
from [Documents] 
where (Name = 'None' OR Name is null OR Name = '') 
  and Status = 'New';
</code></pre>

<p>Execution is really fast (300 ms.)</p>

<p>If I run the same query but with the <code>ORDER BY</code> clause, it's really slow (3000 ms)</p>

<pre><code>select top 50 *  
from [Documents] 
where (Name = 'None' OR Name is null OR Name = '') 
  and Status = 'New'
order by DateCreated;
</code></pre>

<p>I understand that its searching in another index (<code>DateCreated</code>), but should it really be that much slower? If so, why? Anything I can do to speed this query up (a composite index)?</p>

<p>Thanks</p>

<p>BTW: All Indexes including <code>DateCreated</code> have really low fragmentation, in fact I ran a reorganize and it didn't change a thing.</p>