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代码端进行并行处理。这种方式要考虑的问题就比较多了,比如说在集群环境如何处理等。
添加回答
举报
0/150
提交
取消