2017-07-18 98 views
-4

同时检查活动监视器,我发现了一些昂贵的查询,并为执行计划附在这里execution plan最近昂贵的查询

,同时检查它显示索引查找是66%,它意味着什么?它如何变得昂贵的查询? 有人请帮助

+0

查询运行了多长时间? –

+0

你正在使用哪个dbms? – jarlh

+0

MS SQL SERVER 2012 .... – Sanal

回答

0

您正在使用2子查询的结果是更Cosltier,你可以用联接或临时表替换你的子查询。

此外,您还可以索引行程表的VehicleSchedules表和vehicleScheduleid列的SchedStartTime。

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

select top 1 @v_CancelScheduleid= VehicleScheduleid 
from VehicleSchedules WITH (NOLOCK) 
where [email protected]_VehicleId 
and vehicleScheduleid not in (select isnull(vehicleScheduleid,0) from trip WITH (NOLOCK)) and SchedStartTime<(select SchedStartTime from VehicleSchedules WITH (NOLOCK) where [email protected]) order by SchedStartTime desc