Tag: bulkinsert

使用IBATIS进行INSERTS的最快方法

我需要使用iBatis在单个表(SQL Server 2005)中插入20,000行。 最快的方法是什么? 我已经在使用批处理模式,但它没有多大帮助: try { sqlMap.startTransaction(); sqlMap.startBatch(); // … execute statements in between sqlMap.commitTransaction(); } finally { sqlMap.endTransaction(); }

HyperSQL(HSQLDB):大量的插入性能

我有一个应用程序必须将大约1300万行大约10个平均长度的字符串插入到嵌入式HSQLDB中。 我一直在调整东西(批量大小,单线程/multithreading,缓存/非缓存表,MVCC事务,log_size / no日志,定期调用checkpoint ,……),它仍然需要7个小时的16核, 12 GB机器。 我之所以选择HSQLDB,是因为我认为如果我充分利用所有这些核心,我可能会获得可观的性能提升,但我真的开始怀疑我的决定。 有人能告诉我银弹吗?

如何使用Java在MongoDB中执行批量更新文档

我正在使用MongoDB 3.2和MongoDB Java Driver 3.2。 我有一个包含数百个更新文档的数组,现在应该保存/存储在MongoDB 。 为了做到这一点,我迭代数组并为此数组中的每个文档调用updateOne()方法。 现在,我想通过批量更新重新实现此逻辑。 我尝试使用MongoDB Java Driver 3.2在MongoDB 3.2中找到批量更新的示例。 我试过这段代码: MongoClient mongo = new MongoClient(“localhost”, 27017); DB db = (DB) mongo.getDB(“test1”); DBCollection collection = db.getCollection(“collection”); BulkWriteOperation builder = collection.initializeUnorderedBulkOperation(); builder.find(new BasicDBObject(“_id”, 1001)).upsert() .replaceOne(new BasicDBObject(“_id”, 1001).append(“author”, “newName”)); builder.execute(); 但似乎这种方法基于过时的MongoDB Java Driver ,例如2.4并使用不推荐的方法。 我的问题: 如何使用MongoDB Java Driver 3.2在MongoDB 3.2中执行批量更新文档?

Sybase JConnect:ENABLE_BULK_LOAD用法

那里的任何人都可以通过JConnect(带有ENABLE_BULK_LOAD )向Sybase ASE提供批量插入的示例吗? 我在互联网上搜索,一无所获。

使用预准备语句批量更新在Java中批量插入

我试图用Java填充一个带有大约50,000行10列的结果集,然后使用PreparedStatement的batchExecute方法将它们插入到另一个表中。 为了使这个过程更快,我做了一些研究,发现在将数据读入resultSet时,fetchSize起着重要的作用。 拥有一个非常低的fetchSize可能导致太多的服务器访问,并且非常高的fetchSize可以阻止网络资源,所以我尝试了一点,并设置了适合我的基础设施的最佳大小。 我正在读取此resultSet并创建插入语句以插入到另一个数据库的另一个表中。 像这样的东西(只是一个样本,而不是真正的代码): for (i=0 ; i<=50000 ; i++) { statement.setString(1, "a@a.com"); statement.setLong(2, 1); statement.addBatch(); } statement.executeBatch(); executeBatch方法是否会尝试一次发送所有数据? 有没有办法定义批量大小? 有没有更好的方法来加快批量插入的过程? 批量更新(50,000行10列)时,使用可更新的ResultSet或PreparedStaement与批量执行是否更好?