NutzCN Logo
问答 NutZ有buIk之类的导入工具吗?
发布于 2299天前 作者 qq_09dec3d3 1309 次浏览 复制 上一个帖子 下一个帖子
标签:

今天试了一下导入20m的ExceL文件,导入数据库用了十几分钟,用buLk怎么玩?

来自炫酷的 NutzCN

21 回复

buIk是什么东西

批量导入大数据

来自炫酷的 NutzCN

batch? 自定义SQL有addBatch, Dao接口有fastInsert

用frOmExCEL是一条条lNSERT,用buLk是批量导,速度快

来自炫酷的 NutzCN

有例子吗,我试试

来自炫酷的 NutzCN

有pojo还是没有pojo? 你现在用什么方式插入的?

有POJ,是从ExceⅠ表导入数据库

来自炫酷的 NutzCN

dao.fastInsert(list);

这么简单,老大

来自炫酷的 NutzCN

我迫不了待的试试,这个能解决大问题,谢谢

来自炫酷的 NutzCN

这个使用应该要做配置吧,猛一下就报超过最大内存

来自炫酷的 NutzCN

自行分批次插入,例如1000条批量插入一次

怎么设置啊

来自炫酷的 NutzCN

没有"设置"项的, 类似下面的写法

List<User> list = new ArrayList();
for (Data data : excel数据) { //
         // 变成user对象
         list.add(user);
         if (list.size() == 1000) {
                dao.fastInsert(list);
                list.clear();
         }
}

每次从表中取1千条数据批插?

来自炫酷的 NutzCN

那干脆循环,现在数据已在一个List中,再加一个List每次拷贝1000条批插,直至结束

来自炫酷的 NutzCN

明天玩,现在准备睡觉。Nutz可以在这个方面做一下优化不?

来自炫酷的 NutzCN

读取Excel表可以每次只读1干条记录不?

来自炫酷的 NutzCN

用什么读的? poi的原生api? 不打算自动优化fastInsert的批次插入的

用这种方式写dao.fastInsert(ktgDzjqd.subList(count*1000, (count+1)*1000));,1万1千多数据,不到2分钟,还行

在最后一次写的时候你不需要算出实际的个数,他会自动的写最后的实际数目

添加回复
请先登陆
回到顶部