下面的查詢需要大量的時間,像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