我想将实际上是1000个字符的文本数据存储到数据库中。多快?假设每秒1000个数据。
为了提高效率,我使用了名为“批量插入”的数据库功能。这是实现它的代码段。
private Queue q;
public void store(MyData data) {
q.add(data);
}
public void onStarted() {
new Thread() {
public void run() {
while(true) {
if (q.notEmpty()) {
List someData = new ArrayList();
q.drainTo(someData, BATCH_SIZE);
storeWithSqlBatch(someData);
}
sleep(100);
}
}
}.start();
}
但这是一个糟糕的代码,因为未保存的数据只存在于内存中。当,断电,数据将丢失。我一直在考虑使用持久= true的JMS队列。但我真的不知道推荐的方式。