我的sql檔案里有一百萬條insert陳述句,怎么才能快速的匯入的資料庫里呢?
uj5u.com熱心網友回復:
@c:/1.sqluj5u.com熱心網友回復:
誰把100W資料匯出insert陳述句啊,這么人太神了uj5u.com熱心網友回復:
1、把檔案處理一下,每 1W 或 5W 行,加一個 commit ; awk 可以實作這個2、把一個檔案拆分成多個小檔案,再用 1# 的方法分別去執行,執行完一個檔案后,再執行一個 commit;
uj5u.com熱心網友回復:
我覺著 可以把SQL檔案用文本編輯工具批量修改下最后留下 列值+逗號 ,保存txt或者cvs 然后用SQLLDR匯入
‘1’,'name'
'2'.'name2'
uj5u.com熱心網友回復:
方法不錯,可以嘗試一下
uj5u.com熱心網友回復:
表開并行,改成nologging,@1.sql執行,沒啥問題uj5u.com熱心網友回復:
進行命令模式 執行WINDOWS下
@檔案完整路徑\檔案名.sql 如在C盤下1.txt @c:\1.txt
linux下也是同樣的道理 只不過寫法不一樣
@/tmp/1.txt
其實擴展名是txt 還是sql都是沒有關系的,最好使用sql因為在linux下因為txt字符集的問題 可能會出現亂碼無法匯入的情況
uj5u.com熱心網友回復:
對這 一百萬條insert陳述句 我只有一個字 服!!!!


uj5u.com熱心網友回復:
用sqlldr匯入 userid=scott/oraclecontrol=D:\t_order_ctl.txt direct=y bindsize=8192000 rows=10000uj5u.com熱心網友回復:
先把表的主外鍵、索引啥的刪了,然后執行試試;uj5u.com熱心網友回復:
SQLCMD -U sa -P 密碼 -S IP -d 數據庫名字 -r -i 檔案地址uj5u.com熱心網友回復:
SQLCMD -U sa -P 密碼 -S IP -d 數據庫名字 -r -i 檔案地址 <-這個是包準答案啦。如果只有一個檔案,你也可以直接純滑鼠點點完成這個作業。
uj5u.com熱心網友回復:
登錄到資料庫服務器上,進入SQLPLUS,然后用@檔案名.sql操作轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/54004.html
標籤:高級技術
