下面的MSSQL2005查詢非常慢。我覺得他們應該加快速度,但我不確定如何。請注意,我編輯內部連接以使用select語句使其更明顯(對於閱讀此問題的人)發生了什麼,儘管這對速度沒有影響(可能執行計劃也是相同的)。有趣的是,我從來沒有真正將關鍵字值組用於計數以外的任何事情,但我不確定是否有辦法利用這一點。SQL優化查詢
select top 1 cde.processPath as 'keywordValue', count(*) as 'total'
from dbo.ClientDefinitionEntry AS cde INNER JOIN dbo.KeywordValueGroups AS kvg
ON cde.keywordGroupId = kvg.keywordValueGrpId
where kvg.[name] = @definitionName
group by cde.processPath
order by total desc
編輯:顯然,人們不斷抱怨我使用子查詢。實際上,這沒有區別。在發佈這個問題之前,我添加了它們,以便更容易地看到發生了什麼。但是他們只是讓事情變得更加混亂,所以我改變了它不使用它們。
編輯:指標的使用:
ClientDefinitionEntry:
IX_ClientDefinitionEntry |nonclustered located on PRIMARY|clientId, keywordGroupId
KeyWordValueGroups
IX_KeywordValueGroups |nonclustered located on PRIMARY|keywordValueGrpId
IX_KeywordValueGroups_2 |nonclustered located on PRIMARY|version
IX_KeywordValueGroups_Name |nonclustered located on PRIMARY|name
這些表格的示例數據可能會有所幫助...... – 2009-05-26 15:03:31
您有什麼指標?他們是最新的嗎? – 2009-05-26 15:06:39