最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

[记录]千万数据存入mysql_MySQL

来源:动视网 责编:小采 时间:2020-11-09 18:40:39
文档

[记录]千万数据存入mysql_MySQL

[记录]千万数据存入mysql_MySQL:bitsCN.com [记录]千万数据存入mysql 存入1千万条数据,用hibernate存数据的定义都很简单:Sql代码 create table testEntity2 ( id varchar(255) not null, description varchar(255), name varchar(255), prim
推荐度:
导读[记录]千万数据存入mysql_MySQL:bitsCN.com [记录]千万数据存入mysql 存入1千万条数据,用hibernate存数据的定义都很简单:Sql代码 create table testEntity2 ( id varchar(255) not null, description varchar(255), name varchar(255), prim


bitsCN.com

[记录]千万数据存入mysql

存入1千万条数据,用hibernate存

数据的定义都很简单:

Sql代码 create table testEntity2 ( id varchar(255) not null, description varchar(255), name varchar(255), primary key (id) ) 

主键生成策略UUID

防止数据过大

设置 50

同时代码里也是50次 flush一下 clear一下 在eclipse的环境中 内存占用在500M左右

每10w条打印一次 如果不使用batch_size 也不flush和clear 内存会在2G左右

并且也会发生内存溢出的错误:(但前面几次的速度非常可观 到第280万条的时候堆溢出)

但这些只是存在session的缓存里 没有真正uncommit到数据库 所以到底有多快...不好说...

正在插入

1:1 2:2 3:2 4:3 5:3 6:5 7:5 8:7 9:7 10:7 11:8 12:8 13:8 14:11 15:11 16:11 17:12 18:15 19:15 20:15 21:16 22:16 23:17 24:17 25:24 26:28 27:35 28:49 Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded at org.hibernate.engine.internal.StatefulPersistenceContext.addEntry(StatefulPersistenceContext.java:539) at org.hibernate.event.internal.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:249) at org.hibernate.event.internal.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:192) at org.hibernate.event.internal.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:135) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:206) at org.hibernate.event.internal.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:55) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:191) at org.hibernate.event.internal.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:49) at org.hibernate.event.internal.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:90) at org.hibernate.internal.SessionImpl.fireSave(SessionImpl.java:764) at org.hibernate.internal.SessionImpl.save(SessionImpl.java:756) at org.hibernate.internal.SessionImpl.save(SessionImpl.java:752) at org.cc.data.test.DataGenerator.main(DataGenerator.java:25) 

然后分别做一下测试 先把batch_size设置为10 每10次 flush和clear:

正在插入

1:37

2:72

3:108

4:144

.......

50和100的测试和这个结果也大同小异就不测试了

其他的以后再写了..

bitsCN.com

文档

[记录]千万数据存入mysql_MySQL

[记录]千万数据存入mysql_MySQL:bitsCN.com [记录]千万数据存入mysql 存入1千万条数据,用hibernate存数据的定义都很简单:Sql代码 create table testEntity2 ( id varchar(255) not null, description varchar(255), name varchar(255), prim
推荐度:
标签: 记录 数据 mysql
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top