簡體   English   中英

插入表變量很慢

[英]Insert into table variable is slow

我在存儲過程中有一個動態SQL

@sql = 'SELECT a, 
       b, 
       c d 
FROM   table t 
       LEFT JOIN table2 t2 
              ON t.id = t2.id '

然后插入表變量

Insert into @tblCustomer

EXECUTE sp_executesql @sql

insert語句需要很長時間才能執行。 我有什么辦法可以改善它?

我正在使用SQL Server 2008

謝謝

盡管您不能做很多事情(簡單的SQL查詢)。

嘗試使用臨時表代替

CREATE TABLE #TempTable(
 ID int,
 col2 <datatype>,
 col3 <datatype>)

並插入其中

看看它是否工作更快。 在這里閱讀更多關於它的信息

嘗試索引數據庫。 它應該給您帶來明顯的性能提升。

嘗試以下查詢:

@sql = SELECT a, b, c, d 
FROM table t (NOLOCK) LEFT JOIN table2 t2 (NOLOCK) ON t.id = t2.id

似乎無法優化。 該查詢是直接的。 如果使用了臨時表,則由於使用內存可能會進一步減慢該過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM