为了账号安全,请及时绑定邮箱和手机立即绑定

关于批量操作数据性能问题

关于批量操作数据性能问题

萧十郎 2018-12-07 10:28:34
hibernate:  通过session的api、使用HQL、调用存储过程、jdbc来进行大批量数据(千万级)的增删改查各自性能的优缺点?
查看完整描述

2 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

如果针对千万级别或者更多的数据,使用Hibernate这种OR Mapping是不太可取的。

一、把数据从数据库中捞到中间件上,封装为Beans,处理完后再由Hibernate构造SQL更新数据。从资源占用、效率等方面来讲,这种方式在大数据量的业务场景下是不适用的。

二、对于千万级或者更多的数据量,如果使用传统的关系型数据库的话:

1、合理考虑数据存储和使用的方式,如使用高级存储、合适的RAID方式、分表、分区等等。保证数据结构合理、存取方便快捷,这是基础。

2、尽量使用sql来解决问题,可以考虑使用存储过程。减少数据通讯、转换等造成的不必要的压力。同时要数据数据库机器的配置是否能够顶得住。

3、适当使用数据库的高级特性,如在oracle下,可以通过为sql指定parallel等hint来适当提升性能。

4、如果对速度有更高的要求,可以在java代码端进行并行处理。这种方式要考虑的问题就比较多了,比如说在集群环境如何处理等。

查看完整回答
反对 回复 2018-12-16
?
慕森王

TA贡献1777条经验 获得超3个赞

自己试试吧,hibernate是封装了jdbc,存储过程其实也是执行sql,但批量的操作还是用存储过程

查看完整回答
反对 回复 2018-12-16
  • 2 回答
  • 0 关注
  • 594 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信