【发布时间】:2018-07-03 09:28:20
【问题描述】:
我已经写了下面的动态 crm-SSRS 报告查询,但是执行时间太长(大约 6 分钟)。
查询:
选择ticketnumber、Title、zon_requeststatusname、 FI.owneridname, zon_applicationname, zon_applicationareaname, LastLogChanged, zon_requestorname, FI.createdon, FI.createdbyname, isescalatedname, zon_ordername, DATEDIFF(DAY,GETDATE(), FI.createdon) 作为来自过滤事件 FI 左外连接的 AgingPeriod (select top 1 zon_case, max(createdon) as LastLogChanged from 按createdon过滤zon_caselog组,zon_case order by 2 desc )CL
在 FI.incidentid=CL.zon_case 其中 DATEDIFF(day,FI.createdon ,GETDATE()) = @CreatedInLast 和 DATEDIFF(day,FI.modifiedon ,GETDATE()) = @ModifiedSince
Same Queries without Filtered view :(但不想使用,因为我们会失去安全优势)
声明@CreatedInLast INT
声明 @ModifiedSince INT
SET @ModifiedSince = 1
SET @CreatedInLast = 7SELECT ticketnumber, Title, zon_requeststatusname, FI.owneridname, zon_applicationname, zon_applicationareaname, --MAX(CL.modifiedon), zon_requestorname,FI.createdon,FI.createdbyname, isescalatedname, zon_ordername, DATEDIFF(DAY,GETDATE(), FI.createdon) as AgingPeriod FROM filteredincident FI (NOLOCK) LEFT OUTER JOIN zon_caselog CL (NOLOCK) 在 FI.incidentid= CL.zon_case AND CL.modifiedon >= GETDATE()- @ModifiedSince WHERE FI.createdon >= GETDATE()- @CreatedInLast GROUP BY ticketnumber, Title, zon_requeststatusname, FI.owneridname, zon_applicationname, zon_applicationareaname,
zon_requestorname,FI.createdon,FI.createdbyname, isescalatedname, zon_ordername
我已经运行了DBCC DBREINDEX 和DBCC INDEXDEFRAG。
请告诉我,需要改进上述查询。
【问题讨论】:
-
我看到 Nolock 在第一个查询中丢失;仍然是第二个查询使用过滤事件
标签: sql-server dynamics-crm dynamics-crm-2011 dynamics-crm-2013