哪一个在SQL Server 2008中更好,或者在数据库优化时无关紧要.
SELECT * FROM table
WHERE datecolumn = (SELECT max(datecolumn) FROM table);
SELECT TOP 1 * FROM table ORDER BY datecolumn DESC;
Run Code Online (Sandbox Code Playgroud)
查看这些查询的实际SQL执行计划,它会产生完全相同的执行计划和相同的执行成本.但是,根据索引设置和收集的统计信息,它可能会有所不同,因此最好自己进行检查.
需要注意的是,两个查询可能不会返回相同的结果.第二个SQL将始终返回一条记录,如果第一条记录datecolumn不唯一,则第一条记录可能返回多行.