工作查询优化 (SQL Server 2005)



我有一个表格Orders,我正在从客户/用户那里获得到期日期等订单日期规范,但我不需要订单到期时间。下面的查询是日期时间,如下所示:

SELECT 
    orderDate as Order_DateTime,  
    convert(varchar(10),orderDate,120) as Order_Date,
    DATEADD(dd,2,orderDate) as Order_Expiry_DateTime,
FROM 
    [Orders]
WHERE 
    orderId = 55;

结果是:

Order_DateTime          |  Order_Date   | Order_Expiry_DateTime   
2013-12-19 21:54:00.000 | 2013-12-19    | 2013-12-21 21:54:00.000 
2013-12-19 19:21:00.000 | 2013-12-19    | 2013-12-21 19:21:00.000 
2013-12-19 19:29:00.000 | 2013-12-19    | 2013-12-21 19:29:00.000 
2013-12-24 22:10:00.000 | 2013-12-24    | 2013-12-26 22:10:00.000 
2013-12-25 18:00:00.000 | 2013-12-25    | 2013-12-27 18:00:00.000 
2013-12-24 23:11:00.000 | 2013-12-24    | 2013-12-26 23:11:00.000 
2013-12-24 20:37:00.000 | 2013-12-24    | 2013-12-26 20:37:00.000 

现在在下面的查询中,我从Order_Expiry_DateTime中删除了时间部分。

结果符合我的要求,但我可以在一定程度上优化此查询吗?

SELECT 
    orderDate as Order_DateTime,  
    convert(varchar(10), orderDate, 120) as Order_Date,  
    convert(varchar(10), (DATEADD(dd, 2, orderDate)), 120) as Order_Expiry_Date   
FROM 
    [Orders]   
WHERE 
    orderId = 55;

结果根据需要很好,例如:

Order_DateTime          |  Order_Date   | Order_Expiry_Date
2013-12-19 21:54:00.000 | 2013-12-19    |   2013-12-21 
2013-12-24 22:10:00.000 | 2013-12-24    |   2013-12-26 
2013-12-25 18:00:00.000 | 2013-12-25    |   2013-12-27 
2013-12-24 23:11:00.000 | 2013-12-24    |   2013-12-26 
2013-12-24 20:37:00.000 | 2013-12-24    |   2013-12-26 

convert(varchar(10), (DATEADD(dd, 2, orderDate)), 120)

被更好的东西取代?我搜索了但找不到,所以请指导我。

确保 OrderId 已编制索引,然后确保 insterts 和更新不会在该表上受到影响(如果确实添加了)。

相关内容

  • 没有找到相关文章

最新更新