我在同一個數據庫中有兩個具有相同列結構的表:TableA
和TableB
。如何在同一個數據庫中將大量數據從一個表複製到另一個表中?
TableA
沒有任何索引,但TableB
有一個非聚簇唯一索引。
TableA
有290萬行數據需要複製到TableB
。
,因爲它們都具有相同的結構,我已經試過
INSERT INTO TableB
SELECT *
FROM TableA;
它是爲執行時間和產生的填充磁盤巨大的日誌文件。結果磁盤空間不足,查詢被終止。
我可以收縮日誌文件。我怎樣纔能有效地將這些多行數據複製到另一個表中?
檢查了這可能會幫助你。 http://dba.stackexchange.com/questions/99367/insert-into-table-select-from-table-vs-bulk-insert –
要複製2.9億行,您將要將其分解爲大塊。不知道每行中有多少數據,但是當您在單個語句中執行此操作時,必須記錄所有數據,以便在發生錯誤時可以回滾。將其分解爲塊或使用BulkInsert將緩解日誌壓力,因爲它不會每個事務都需要太多數據。 –
你有一個主鍵列,如果是的話是什麼數據類型? –