SQL插入一堆行的最快方法是什么

时间:2011-08-17 14:29:41

标签: sql insert sybase bulkinsert

我在内存中有一个数组,我需要将它们放在临时表中,这样我就可以加入其他表了。列表可以是5,也可以是250000。 我可以一次做一个插入,但我想知道是否有任何sql技巧,我可以一次插入100一些插入到select ....这种我没想到的事情。

批量上传器(在sybase中)不是一个选项,因为它没有java实现,并且也不能选择shell到bcp。

1 个答案:

答案 0 :(得分:3)

尝试JDBC批量插入。我从未使用过Sybase,但它也适用于MySql,Postgres和Oracle。

Statement stmt = con.createStatement();

stmt.addBatch("INSERT INTO employees VALUES (1000, 'Joe Jones')");
stmt.addBatch("INSERT INTO departments VALUES (260, 'Shoe')");
stmt.addBatch("INSERT INTO emp_dept VALUES (1000, 260)");

// submit a batch of update commands for execution
int[] updateCounts = stmt.executeBatch();

http://download.oracle.com/javase/1.3/docs/guide/jdbc/spec2/jdbc2.1.frame6.html