最近昂贵的查询

时间:2017-07-18 10:57:33

标签: sql sql-server indexing sql-server-2012

在检查活动监视器时,我发现了一些昂贵的查询,其执行计划附在execution plan

在检查时显示索引搜索是66%这意味着什么?怎么变成昂贵的查询? 有人请帮忙

1 个答案:

答案 0 :(得分:0)

您正在使用2个子查询来获得更加通用的结果,您可以使用连接或临时表替换子查询。

您还可以索引VehicleSchedules表的SchedStartTime和trip table的vehicleScheduleid列。

注意:索引会影响您的DML查询。

select top 1 @v_CancelScheduleid= VehicleScheduleid 
from VehicleSchedules WITH (NOLOCK) 
where vehicleid=@v_VehicleId 
and vehicleScheduleid not in (select isnull(vehicleScheduleid,0) from trip WITH (NOLOCK)) and SchedStartTime<(select SchedStartTime from VehicleSchedules WITH (NOLOCK) where vehicleScheduleid=@ScheduleId) order by SchedStartTime desc