[英]Speeding up temp table joins in SQL Server
我有2個臨時表#temp1和#temp。 兩者都有一個鍵和日期列。 兩者都有大約25,000行。 我將根據所有行上唯一的鍵和日期加入它們。 這次加入需要大約4分鍾才能完成。 有沒有辦法加快速度或任何替代方法?
我相信您可以像在任何其他表上一樣在臨時表上創建索引。
如果您加入25k
表需要4
分鍾,那就有問題了。
很可能你25k * 25k = 625M
錯了JOIN
條件導致笛卡爾連接(或接近它的東西),這導致返回25k * 25k = 625M
條記錄。
這可能需要4
分鍾,如果不是更多,但我不認為這是你想要的。
您的查詢中可能有DISTINCT
/ GROUP BY
子句,這使得查詢以非最佳方式返回正確的結果集。
您能否發布您的查詢,以便我確切地說出原因?
我懷疑你的整個查詢可能需要查看。 可能有另一種方法來修飾這只特殊的兔子。
你能留下更多細節嗎?
取決於你正在做什么,你可以完全避免臨時表,並有一個基於集合的解決方案(運行速度更快,擴展性更好),但很難知道你的查詢是什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.