我寫了一個查詢,其中創建了一個字符串,並根據條件從表中獲取不同的值。提高SQL Server查詢性能
該表格有大約5000行。這個查詢需要將近20秒才能執行。
我相信字符串比較已經使查詢如此之慢。但我想知道我的替代品是什麼。
查詢:
select distinct
Convert(nvarchar, p1.trafficSerial) +' ('+ p1.sourceTraffic + ' - ' + p1.sinkTraffic + ')' as traffic
from
portList as p1
inner join
portList as p2 ON p1.pmId = p2.sinkId
AND P1.trafficSerial IS NOT NULL
AND (p1.trafficSerial = p2.trafficSerial)
AND (P1.sourceTraffic = P2.sourceTraffic)
AND (P1.sinkTraffic = P2.sinkTraffic)
where
p1.siteCodeID = @SiteId
檢查你的索引。 – ppeterka
在演示示例中,pmId是主鍵 – Shah
您的表的結構和定義了哪些索引? – GolfWolf