求助,批量插入大量数据应该用什么方法

今夕是何夕123 2018-03-01 11:03:00
controller里面是这样的,
def computeAllCommunityLiquidityScore(){
def db = new groovy.sql.Sql(dataSource)
def communitySql="select community_id from COMMUNITY"
def communityResult = db.rows(communitySql).asList()
communityResult?.each{
communityService.communityMobilityScore(it?.community_id.toString())
}
}
community里面大概用56万数据,我需要跑一遍数据因为还要在service里面计算,每个communityId计算大概5项的值。都需要存入库中。现在计算一条communityId的速度是1s以内。我再本地开发环境测试批量跑,速度太慢,有什么好点的方法吗?
数据库用的是pg库。
...全文
1157 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Enchanter, 2018-03-13
  • 打赏
  • 举报
回复
记得结贴给分。
Enchanter, 2018-03-13
  • 打赏
  • 举报
回复
引用 4 楼 weixin_40150211 的回复:
引用 1 楼 mj280824108 的回复:
这个问题不是很难,首先,假设是50万的数据,分割成50个线程,每个线程处理一万条数据,并发进行。记得用批量,别一个个存,那样对资源的消耗很大且速度很慢。
我要根据每个communityId来封装出5个对象,批量的话会不会对服务器的内存消耗太大呢?使用grails框架开发的,我研究研究连接池了
内存消耗不会很大,才几十万条数据而已,几个线程而已,几乎不会占多少内存。
GP0071 2018-03-01
  • 打赏
  • 举报
回复
大量数据,多线程、批量入库 1000条数据1次commit,放到服务器上抛 很快的 。
Enchanter, 2018-03-01
  • 打赏
  • 举报
回复
这个问题不是很难,首先,假设是50万的数据,分割成50个线程,每个线程处理一万条数据,并发进行。记得用批量,别一个个存,那样对资源的消耗很大且速度很慢。
Enchanter, 2018-03-01
  • 打赏
  • 举报
回复
记得一定要用线程池和连接池,不然资源管理上面就会让你一头包
今夕是何夕123 2018-03-01
  • 打赏
  • 举报
回复
引用 1 楼 mj280824108 的回复:
这个问题不是很难,首先,假设是50万的数据,分割成50个线程,每个线程处理一万条数据,并发进行。记得用批量,别一个个存,那样对资源的消耗很大且速度很慢。
我要根据每个communityId来封装出5个对象,批量的话会不会对服务器的内存消耗太大呢?使用grails框架开发的,我研究研究连接池了
asprain论坛是一个适合于各中小学、中专、技校、职高建设校园论坛、师生交流论坛,一些教科研部门、公司企业建设内部论坛、IT技术爱好者建设技术交流论坛的免费论坛程序。它有两个版本,分别是asp+Access版和asp+sqlServer版,功能完全一致,建站者可以根据自己的需要选用不同的版本。 Asprain论坛体积小巧,但是功能完整。它前端脚本基于jquery框架,跨浏览器性能出色。对IE6、IE7、IE8、firefox、Chrome、Saferi、Opera七种主流浏览器有良好的兼容性。可以轻松松换肤,制作个性皮肤也很方便,只要修改几个css就可以了。 asprain论坛使用了大量的ajax效果,不仅能够很有效地节省数据流量、应付网络拥堵,而且极酷的脚本动画和遮罩框效果也能使用户获得更好的应用体验。在asprain里,用户切换隐身/在线状态、更换自己的头像、版主删除水帖、加亮优秀帖等很多操作,都只要一键完成,不需要页面刷新或者跳转。asprain论坛还支持版主批量删帖、转移帖子、将帖子设为精华等等操作,并支持用户对帖子的评分、举报帖子等功能。 asprain论坛使用了一个非常独创的可视化UBB在线编辑器,实现了真正的所见即所得的UBB编辑,安全与便捷兼顾。在asprain论坛的在线编辑器中,可以做到一键插入本地图片、一键完成远程图片上传、轻松插入优酷网等视频网站上的的视频地址、插入回复可读、付费可读等标记,还可以插入程序代码。asprain论坛使用了改进版的chili插件,UBB标签[code]****[/code]能够很好地对javascript、php、asp、sql、css、html、C++、C#、Delphi、java、locus这十种开发语言进行语法高亮(这个功能对IT技术爱好者建设技术交流论坛非常有用)。 asprain论坛自带无图版、rss订阅等功能,即将推出wap版(手机版)。asprain支持滚动公告条、帖子引用通告、邮件群发、自定义论坛访问统计代码等功能,支持下载统计、支持文件反盗链、支持支付宝、财付通绑定。用户可以通过支付宝、财付通两种在线支付通道进行站内积分充值。站内积分可以用于悬赏求助、购买付费可读帖的阅读权、下载权等。这既方便了用户,也给站长增加了收入来源。 asprain自带五套漂亮的皮肤,表情和头像都非常可爱搞笑,而且可以轻松更换。网站头也可以根据需要轻松修改。asprain论坛支持多种论坛广告形式,包括页头广告、页脚广告、帖子中的文字广告、帖子右边的图片广告、全屏浮动广告、左右对联广告、页面右下角的弹出广告等。所有的广告位都支持循环轮播。也就是说,你可以在同一个广告位中插入十几条广告内容,然后前台会自动从这十几条预设广告中轮流播送。循环轮播广告比固定广告更容易抢得眼球,不易带来视觉疲劳。 如果你想学习研究asp编程技术或者jquery开发技术,也不妨来下载这个程序。 asprain论坛的后台界面也很漂亮,模仿了yeah邮件的标签功能,而且还可以搜索后台功能。 这个程序初始管理员用户名是Admin,前台密码和后台密码都是987654321。安装方法是:把下载包里的两个文件install.asp和asprain.asa解压出来,放到服务器空间根目录上,然后访问http://yourdomain/install.asp,然后填写几个表单,程序会自动把文件解压出来的。这样可以使论坛安装更方便,因为不需要再把几百个小文件通过ftp上传了,保需要把两个大文件传上去就

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧