浏览问题
等待回复
精选文章
申请试用
资源中心
漏洞修复
注册
|
登录
SuperMap技术问答社区
我要
提问
智能客服
首页
/
浏览问题
/
组件GIS
/
问题详情
记录集太多数据了,如何使用多线程呢?
CarpeDie...
70EXP
2023年06月01日
用java开发,处理记录集中的数据,但是太多了大概有40多万条记录,处理完要5min 。想问一下,能不能使用多线程呢?cpu六核十二线程
iobjects
java
多线程
请
登录
或者
注册
后回答这个问题。
1个回答
您好,根据您描述的信息,处理40多万条记录,耗时5分钟,这个耗时是不合理的,通常来说处理 40 多万条记录的耗时应该在 30s 以内。
根据您提供的耗时数据分析,应该是没有开启批处理的原因,建议参考 iObjects Java 组件帮助文档在处理记录的时候使用批处理(Recordset.Batch)。
iObjects Java 组件中的记录集(Recordset)与数据库的游标类似,不建议使用多线程同时操作同一个数据集,否则是有可能导致数据集结构紊乱的。
希望可以帮到您。
刘程贤
1
2,163EXP
2023年06月01日
因为记录集中的每个记录,都需要进行一系列的计算并且根据计算结果进行属性表的赋值,可能是这个原因所以大幅增加了时间。您觉得是这个原因吗?
后续我还会继续优化计算流程和相关代码。
我去尝试一下批处理,谢谢您的帮助。
您客气了,如果只是在内存中计算的话,其实应该消耗不了多长的时间,修改记录最耗时的操作就是Recordset.update的时候,用批处理可以极大的缩短 update 的耗时,建议根据当前机器性能选择如每1000条记录批处理更新一次等。
请
登录
或者
注册
后再添加评论。
智能推荐
相关问题
相关文章
推荐教程
在记录集中查询多个条件该如何写?
合并记录集后再转矢量数据集该怎么做呢?
记录集的遍历速度能提升嘛?
iObjects java 沿线注记生成CAD数据集
在查询出的记录集中如何关联 类似数据库中的主键表
记录集中有多条记录,如何取出某一条记录的几何对象并获取该对象的坐标点集呢?
向数据集中追加记录集成功但是记录集的数据都未更新
java object 导入dem生成数据集后,请问如何添加到新地图??
热门文章
查看更多>
关注我们
超图软件官网
SuperMap Online
地图慧
帮助中心
备案信息
技术资源中心
...