2011-08-02 81 views
1

將數百萬條記錄插入表格的最佳方式是什麼?在表格中插入數百萬條記錄

一些方法是:

1)寫入jdbc程序插入數據。

2)寫入pl/sql程序來插入數據。

任何人都可以請其他方法建議,以及最好的。

+1

這取決於。現在存儲的數據或者它是如何生成的? – Jacob

+0

這完全取決於數據的類型(數據/行的大小),當然完全取決於您使用的數據庫系統。每個人都有自己的批量加載數據的方式。 –

+1

什麼是數據源,您從哪裏獲取? – fatnjazzy

回答

0

PL/SQL過程可以讓你有效地處理事務。這也取決於你要從哪裏讀取數據?並不是PLSQL不能做某些事情,但Java可能會更好。

1

我認爲它是MySQL的:

INSERT INTO x (a,b) 
VALUES 
('1', 'one'), 
('2', 'two'), 
('3', 'three') 

如果是一次唯一的問題,我不認爲Java應該involoved。

我建議您告訴我們您的數據來自哪裏?

+0

然後誰會寫出一百萬行的值:)你需要java這裏:p –

+2

由於沒有細節,我認爲它是一個csv文件或其他東西,所以你可以用一些工具來轉換它。 ( - : – fatnjazzy

+0

我試過了,但是在oracle上不行,給語法錯誤 – user760658

2

您也可以在JDBC中執行batch insert(如果您的JDBC驅動程序爲2.0及更高版本)。

2

我建議你應該使用MS Sql Server等大部分數據庫附帶的數據遷移工具。

否則JDBC/PL-SQL將表現相同,但它更好地運行事務中的所有查詢,並且PL-SQL將更有利於管理事務。

但在Java中,你可以讀一位高效然後PL-SQL(如果可能)一樣,如果你有XML的源,CSV文件等

+0

沒有sourcr,只是隨機值 – user760658

+0

隨機值從哪裏收集...? –

+0

使用rand函數生成 – user760658

0

與JDBC API批處理會做源爲如此巨大的記錄工作。