我遇到了SQL子查詢的性能問題。SQL子查詢性能問題
作爲硬編碼的查詢時,它需要約1秒至運行:
SELECT ColumnA
,ColumnB
,ColumnC
FROM [LinkedServer].[Database].[Schema].[View]
WHERE ColumnA IN
(
'ABC',
'DEF',
'HIJ',
'KLM'
)
但是,下面的代碼需要花費一分鐘來運行:
SELECT ColumnA
,ColumnB
,ColumnC
FROM [LinkedServer].[Database].[Schema].[View]
WHERE ColumnA IN
(
SELECT ColumnA FROM #TempTable
)
的臨時表中包含與硬編碼示例相同的4行。鏈接服務器上的視圖包含約。 700,000行(不幸的是,這超出了我的控制範圍)。 ColumnA數據類型相同,並且兩個表都被索引。
有關如何提高此查詢性能的任何想法?
非常感謝。
'ColumnA'從#TempTable varchar類型或nvarchar? –
嗨,蘭迪,這是一個varchar字段。 – chut319
您可以請發佈查詢的執行計劃,這可能會揭示問題,另一件事情如果鏈接服務器登錄沒有足夠的權限,它可能沒有檢索到統計信息。 – Farfarak