小编Yot*_*yte的帖子

Spring数据保存vs saveAll性能

我试图理解为什么saveAll具有比Spring Data存储库中保存更好的性能.我使用的是CrudRepository从中可以看出这里.

为了测试我创建并添加了10k个实体,它们只有一个id和一个随机字符串(对于基准测试我保持字符串是一个常量)到列表中.迭代我的列表并调用.save每个元素,花了40秒..saveAll在2秒内完成相同的整个列表调用..saveAll用甚至30k元素调用花了4秒钟.我确保在执行每个测试之前截断我的表.即使将.saveAll电话拨打到50个子列表,也需要10秒才能获得30k.

.saveAll整个列表的简单似乎是最快的.

我试图浏览春数据源代码,但是是我发现的唯一有价值的东西.在这里,它似乎.saveAll只是迭代整个,Iterable.save像我一样调用每一个.那怎么快得多呢?它是在内部进行一些事务性批处理吗?

java spring hibernate spring-data spring-data-jpa

10
推荐指数
1
解决办法
2万
查看次数

标签 统计

hibernate ×1

java ×1

spring ×1

spring-data ×1

spring-data-jpa ×1