如何解决是否可以将Hibernate配置为仅刷新但不提交一种提交模拟
我需要从具有旧架构(58个表)的旧postgresql数据库迁移到具有新架构(40个表)的新数据库。模式完全不同。 这不是简单的迁移(复制和粘贴)。而是复制转换粘贴。
我决定编写一个批处理,并使用spring批处理,spring数据和jpa。因此,我有两个dataSources和一个chainedTransaction。我的配置弹簧主要由带有JpaPagingItemReader和ItemWriteradapter的Chunck Task组成。
出于性能需求,我还配置了Partitioner,该分区程序允许我将源表划分为几个子表,并且chuncksize = 500000
一切正常。但是考虑到我的旧表的大小,我需要一个星期才能迁移所有数据。
我将要进行一个测试,该测试包括运行我的批处理而不提交。只是休眠状态会在“ .sql”文件中生成所有sql请求,但不会将数据提交到数据库。
这将允许我查看提交是否在执行时间上很昂贵。
是否可以将休眠配置为仅刷新但永不提交?一种提交模拟?
谢谢
解决方法
通常,代价高昂的部分是外键和唯一键检查以及索引维护,但是由于您没有写数据获取方式,因此很可能以低效的方式访问数据
通常,我建议您使用pg_dump创建转储,将其还原,然后尝试以仅SQL方式进行迁移。这样,数据不必四处流淌,而可以留在机器上,这通常效率更高。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。