Java 在数据库中插入多行
我想知道在数据库中插入多行的更好方法是什么:Java 在数据库中插入多行,java,database,Java,Database,我想知道在数据库中插入多行的更好方法是什么: 使用一个查询执行此操作或 for(int x=0;x
for(int x=0;x
我的数据大约由8列50行组成。更好的方法是批量插入,而不是逐个插入行
for (String query : queries) {
statement.addBatch(query);
}
statement.executeBatch();
是,您只能编写一个查询以插入所有值:
String query="insert into table1 (First,Last) values";
for(; ;)
{
query=query+"('Fred','Smith'),";
}
-----You can write your database insertion code here----
或者可以使用addBatch()和executeBatch();方法也
尽可能使用一个查询。这有多个好处:
- 减少与DBMS的连接,减少连接到服务器时的网络访问和其他操作(即使它与程序位于同一台计算机上)
- 更好地优化查询。DBMS比您更擅长优化。总是。执行多个查询将阻碍DBMS的优化过程,即使使用缓存系统也是如此
无论如何,对于任何DBMS来说,8列50行都是非常快速和容易处理的,但是您的数据可能会在以后增长,因此您希望使用最佳方法。您可以使用
批量插入
将所有值保存在txt文件中并使用
BULK INSERT STUDENT
FROM ‘D:\STUDENTS_LIST.txt’
WITH ( FIELDTERMINATOR = ‘,’, ROWTERMINATOR = ‘\n’ )
考虑使用单个数据集和多个数据集作为批处理
(注意:并非所有JDBC驱动程序都支持这一点,并且完全符合规范。)为什么不运行一些定时测试用例,看看?这比一个查询好吗?性能方面,不是很确定(因为在内部,即使是单个查询,也可能插入那么多次,就行数而言),但可读性方面,它肯定更好。检查这个