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

前端之家收集整理的这篇文章主要介绍了java – 在SQL中将非常大量的记录插入到表中的最快方式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问题是,我们从 Java应用程序中将大量记录(超过一百万)插入到单个表中.这些记录是由Java代码创建的,它不是从另一个表移动,所以INSERT / SELECT将不会有帮助.

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

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

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

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

解决方法

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

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

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

猜你在找的Java相关文章