"DELETE TOP (1) FROM @TEMP" or "DELETE FROM #TEMP WHERE.." is faster? : <p>I am wondering which one is much faster in THEORY? </p>

<pre><code>IF EXISTS(SELECT TOP 1 1 FROM @ControlOrderList )
BEGIN
    SET @RowNumber= (SELECT TOP 1 id FROM @ControlOrderList)
    ...
    DELETE @ControlOrderList WHERE id=@RowNumber
END
</code></pre>

<p>or is this much faster?</p>

<pre><code>IF EXISTS(SELECT TOP 1 1 FROM @ControlOrderList )
BEGIN
    SET @RowNumber= (SELECT TOP 1 id FROM @ControlOrderList)
    ...
    DELETE TOP 1 @ControlOrderList 
END
</code></pre>

<p>And is it secure to use DELETE TOP 1? Can I trust SQL-SERVER to delete the row that I got in "SELECT TOP 1 ....." ?</p>
