如何使用INSERT INTO SELECT 語句進行分批插入
當需要將大量資料從一個表插入另一個表時,使用INSERT INTO SELECT
語句進行分批插入可以提高效率。分批插入透過將大型插入操作分解成較小的批次來實現,從而減少對資料庫伺服器的壓力。
步驟:
INSERT INTO SELECT
語句,將資料從來源表插入暫存表。使用 LIMIT
子句限制每次插入的行數,以建立一個批次。 <code class="sql">INSERT INTO #temp_table SELECT TOP (@batch_size) * FROM source_table WHERE NOT EXISTS (SELECT 1 FROM destination_table WHERE id = source_table.id);</code>
INSERT INTO SELECT
語句,將資料從暫存表插入目標表。 <code class="sql">INSERT INTO destination_table SELECT * FROM #temp_table;</code>
<code class="sql">DROP TABLE #temp_table;</code>
優點:
注意:
IDENTITY_INSERT
選項可能會導致主鍵衝突。 以上是insert into select 怎麼分批的詳細內容。更多資訊請關注PHP中文網其他相關文章!