【发布时间】:2017-08-04 11:44:09
【问题描述】:
我正在使用以下查询来生成大约 7k 行的一些信息。但问题是查询花费了太多时间来完成仅 7k 行。我需要对其进行微调。
select mo.CardUId,mo.CarParkUId,mo.PersonUId,mo.CardType,mo.CardNr,pk.LastName company_name,ab.Name carpark_name,
mo.ValidFrom,mo.ValidUntil,mo.LastTccTime,p.LastName customerName,mo.GroupName, mo.Name,p.Type,
mo.LastTccNr,mo.DisplayableCardCarrierNrId serialnr,mo.BlacklistEntry,
mo.GroupNumber from Person p
LEFT outer join vwAllCards mo on p.PersonUId=mo.PersonUId
left outer join Person pk on pk.PersonUId=p.CompanyDepartmentUId
left outer join CarPark ab on ab.CarParkUId=mo.CarParkUId
where p.Type=0 and mo.Name is not null
order by p.LastName
【问题讨论】:
-
您可以使用分析器自动调整它。你已经做到了吗?
-
您使用任何索引吗?你检查过解释计划吗?
-
不,我没有。
-
什么是慢:选择还是插入?无论如何都需要实际的执行计划。
-
也许您需要检查索引的碎片并重建它们。相信我,如果您的索引是零散的,它可能会产生巨大的负面影响。
标签: sql-server