0
如何在sql server程序下面進行優化,tblPggg表只有5000條記錄,其餘表只有50,100,200,10條記錄。即使它發生在當地的15/20秒活的服務器上爲好,SQL過程需要很長時間?
這是SQL Server上運行2012 如果可能的話也想優化的註釋列在下面SQL
select distinct
tblppp.Name as Name,
tblppp.pid as ID,
tblgpp.FirstName +' '+ tblgpp.LastName as gName,
tblgpp.GID as gid,
tblPggg.prEntryID,
tblPggg.Start,
tblPggg.End,
CONVERT(nvarchar(50),DATEDIFF(MINUTE,tblPggg.Start,tblPggg.End)) +' minutes' as Duration,
tblPggg.Status as status
--,[dbo].funcGetRatingOfPatrolRun(tblppp.pid,tblPggg.prEntryID) as PatrolRating -- commented
from tblPggg (nolock) as tblPggg inner join
tblppp (nolock) as tblppp on tblPggg .pid = tblppp.pid inner join
tblgpp (nolock) as tblgpp on tblgpp.GID=tblPggg .GID inner join
tblsss (nolock) as tblsss on patrolRun.SiteID = tblsss.SiteID inner join
tblAaaa (nolock) as tblAaaa on tblsss.AreadID =tblAaaa.AreaID inner join
tblCccc (nolock) as tblCccc on tblsss.ClientID = tblCccc.ClientID
當我告訴查詢估計的執行計劃它顯示了我49%的成本去(哈希匹配內部連接)
連接列上的任何索引是否已就位? –
@ shree.part18-否,索引放置在哪一列哪種類型的索引最適合,並且會在2/3秒內產生輸出。 – skiskd
看看這個答案開始:http://stackoverflow.com/questions/107132/what-columns-generally-make-good-indexes –