美好的一天。插入表格的有效方式<oracle 10g>
我們需要將大約800000條記錄插入到一個自定義表格中,該表格現在用一個簡單的插入語句花費約30+分鐘。我們將從文件中讀取記錄並使用簡單的插入語句創建一個.sql文件。我相信會有一種有效的方式來插入不同於正常方式的記錄。
我試過了下面。
- /附加/...。由於在每個插入語句之後進行提交,所花的時間比以前多。因此,這是排除
- 插入所有 到c_table(X,X,X)值('','','',)
到c_table(X,X,X)值('','' ,'',) 進入c_table(X,X,X)值('','','',) 從雙選擇1;
對於計數爲1000的選項2是好的,但對於批量插入它再次需要超過30分鐘。 如果有其他選項,請分享。
注意:我不能使用sqloader或datapump,因爲我們沒有數據庫密碼。
問候, 普拉香特
如果您沒有數據庫密碼,那麼SQL文件對您有什麼好處?您需要登錄到數據庫才能運行.sql文件。 800,000個單獨的SQL語句,其中沒有一個使用綁定變量會非常慢 - 大部分時間可能用於解析800,000個單獨的SQL語句。 SQL * Loader將會更加高效。一個簡單的Java/C#/ <<您最喜歡的語言>>應用程序創建一個帶有綁定變量的單個語句並遍歷80萬行將會更加高效。 – 2012-08-16 00:17:30
@JustinCave:這被設置爲一個批處理作業進程,它將記錄插入到自定義表中。它將通過說「密碼將被加密的」X「用戶來執行。我相信要使用SQL * Loader我們需要傳遞用戶名/密碼。請建議。 – kanna 2012-08-16 00:29:27
更多關於SQL * Loader [here](http://www.orafaq.com/wiki/SQL*Loader_FAQ) – Annjawn 2012-08-16 00:31:34