java – 在SQL中将非常大量的记录插入到表中的最快方式

问题是,我们从 Java应用程序中将大量记录(超过一百万)插入到单个表中.这些记录是由Java代码创建的,它不是从另一个表移动,所以INSERT / SELECT将不会有帮助.

目前,我的瓶颈是INSERT语句.我正在使用PreparedStatement来加快进程,但是在普通服务器上每秒不能获得超过50个recods.表完全不复杂,没有定义索引.

这个过程需要太长时间,而且花费的时间会产生问题.

我可以做些什么来获得最大速度(每秒INSERT)?

数据库:MS sql 2008.应用程序:基于Java,使用Microsoft JDBC驱动程序.

解决方法

使用 BULK INSERT – 它是专为您正在要求的设计,并显着提高插入速度.

另外,(为了防止你真的没有索引),你可能还需要考虑添加一个索引 – 一些索引(大多数是主键上的索引)可以提高插入的性能.

您应该能够插入记录的实际速率将取决于确切的数据,表结构以及sql服务器本身的硬件/配置,因此我无法真正给您任何数字.

相关文章

最近看了一下学习资料,感觉进制转换其实还是挺有意思的,尤...
/*HashSet 基本操作 * --set:元素是无序的,存入和取出顺序不...
/*list 基本操作 * * List a=new List(); * 增 * a.add(inde...
/* * 内部类 * */ 1 class OutClass{ 2 //定义外部类的成员变...
集合的操作Iterator、Collection、Set和HashSet关系Iterator...
接口中常量的修饰关键字:public,static,final(常量)函数...