Sql server SQL查询中的合并函数

Sql server SQL查询中的合并函数,sql-server,Sql Server,我在SQL Server中编写了以下查询,该查询执行速度较慢: select * from Orders where OrderId='01' order by coalesce(OrderDeliveryDate, convert(datetime,OrderEstimatedDate)) desc 我认为由于使用了coalesce函数,查询的执行速度很慢。我可以用其他方式编写查询以减少执行时间吗?您是否尝试过不使用coalesce函数的情况?另外,OrderEstimatedDate是

我在SQL Server中编写了以下查询,该查询执行速度较慢:

select * from  Orders where OrderId='01' 
order by coalesce(OrderDeliveryDate, convert(datetime,OrderEstimatedDate)) desc

我认为由于使用了coalesce函数,查询的执行速度很慢。我可以用其他方式编写查询以减少执行时间吗?

您是否尝试过不使用coalesce函数的情况?另外,
OrderEstimatedDate
是否已经属于
datetime
类型?不要猜测它为什么慢-生成一个执行计划,看看它在哪里花费时间。如果这是速度慢的根源,我会非常惊讶。你订单中的转换将严重影响这里的性能。另外,OrderId是一个varchar还是一个数字?此外,限制返回的列也有助于提高性能。没有理由在更多查询中返回每一列。为什么需要转换
OrderEstimatedDate
?这不是
datetime
列吗?orderID字段真的是字符串吗?