浏览问题
等待回复
精选文章
申请试用
资源中心
漏洞修复
注册
|
登录
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,313EXP
2023年06月01日
因为记录集中的每个记录,都需要进行一系列的计算并且根据计算结果进行属性表的赋值,可能是这个原因所以大幅增加了时间。您觉得是这个原因吗?
后续我还会继续优化计算流程和相关代码。
我去尝试一下批处理,谢谢您的帮助。
您客气了,如果只是在内存中计算的话,其实应该消耗不了多长的时间,修改记录最耗时的操作就是Recordset.update的时候,用批处理可以极大的缩短 update 的耗时,建议根据当前机器性能选择如每1000条记录批处理更新一次等。
请
登录
或者
注册
后再添加评论。
智能推荐
相关问题
相关文章
推荐教程
在记录集中查询多个条件该如何写?
超图FAQ:请问一下,使用超图iobject java 实现区域面加上监测站点数据,生成等直面的时候,监测点放一个的时候如下左图,范围是正常的,但是传入的范围内监测点多个的时候,右边感觉被裁剪了,请问哪位同事知道这个可能是什么问题?
记录集的遍历速度能提升嘛?
合并记录集后再转矢量数据集该怎么做呢?
超图FAQ:您好,iObjects Java导入矢量数据形成布局,地图没有全幅显示是什么原因呢,我已经使用了map.viewEntire()但生成的地图和通过地图生成的布局还是很小。
超图FAQ:在java中使用iobject,用weblicense登录许可,在本地的时候许可是可以登录的,但是在容器里就登录不了,请问能帮忙解决一下吗这个是容器里报的错
iObjects java 沿线注记生成CAD数据集
超图FAQ:您好,请教一下如何通过iObjects Java添加类似这种的文本注记呢。
热门文章
查看更多>
关注我们
超图软件官网
SuperMap Online
地图慧
帮助中心
备案信息
技术资源中心
...