gpt4 book ai didi

java - 在java代码中频繁提交插入数据库是一个好习惯吗?

转载 作者:行者123 更新时间:2023-12-01 16:58:49 25 4
gpt4 key购买 nike

我的java代码读取excel文件并将数据写入(插入)到oracle数据库。

例如,我需要读取 2000 行 Excel 文件中的一些类似单元格,我的代码读取它,插入到数据库,然后提交。

前大约 1000 行插入速度非常快,但另外 1000 行插入时间非常长。

可能是内存不足的原因。

因此,我认为在数据加载到数据库时经常进行提交(例如,每读取 50 行后进行提交)。

这样做是好的做法还是有其他方法可以解决这个问题?

最佳答案

提交用于数据库中的原子操作。你不会只是因为你喜欢而把它们扔来扔去。每个事务通常(取决于隔离级别,但假设串行隔离)是一个独特的、全有或全无的操作。

如果您不知道是什么导致数据库事务花费“长时间”,您应该阅读日志或与知道如何诊断“缓慢”原因并采取补救措施的人员交谈。最可能的原因是配置错误。

底线是,人们的事务可以将 100,000 甚至数百万行作为单个事务插入,而不会引起问题。一般来说,出于性能原因最好不要经常提交。

关于java - 在java代码中频繁提交插入数据库是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29438303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com