下面的查询需要大量的时间,像80分钟返回1400个结果,任何建议如何调整这个微调TSQL SQL服务器
exec sp_executesql N'set ARITHIGNORE ON;
SELECT TOP (@solutionid)
b.[solutionid],MAX(b.title) title,
MIN(a.[Status]) [Status],
MIN(a.[Audience]) Audience,
MAX(b.productname) ProductName,
MIN(CAST(DateCreated as datetime)) DateCreated ,
MIN(CAST(DateLastModified as datetime)) DateModified,
[pc_pres_text]=REPLACE(REPLACE(REPLACE((SELECT [pc_pres_text] as [data()]
FROM [dbo.view] a
WHERE a.[solutionid]=b.[solutionid]
FOR XML PATH('''')), ''<'',''<''),''>'',''>'') ,''&'',''&''),
''http://support/supp=''+b.[solutionid] PrimusUrl
FROM [view] b
INNER JOIN [table] a ON b.solutionid=a.solutionid
WHERE ((@Audience IS NULL AND [Audience] IS NULL) OR [Audience] LIKE @Audience) AND [DateCreated] > @DateCreated AND
((@Status IS NULL AND [Status] IS NULL) OR [Status] = @Status)
GROUP BY b.[solutionid]
ORDER BY b.[solutionid]',N'@Audience nvarchar(10),@DateCreated datetime,@Status nvarchar(9),@solutionid bigint',
@Audience=N'test%',@DateCreated='2000-01-01 00:00:00',@Status=N'test',@solutionid=500000
能否请您添加表结构,并最终现有的索引? –
要增加的另一件事是实际处理的数据量。我们在谈论成千上万的记录还是数百万?最后,你可以针对查询运行任何种类的查询调优工具吗? – NotMe
是否索引了solutionid? dbo.view中有多少行? – chmullig