- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的java代码读取excel文件并将数据写入(插入)到oracle数据库。
例如,我需要读取 2000 行 Excel 文件中的一些类似单元格,我的代码读取它,插入到数据库,然后提交。
前大约 1000 行插入速度非常快,但另外 1000 行插入时间非常长。
可能是内存不足的原因。
因此,我认为在数据加载到数据库时经常进行提交(例如,每读取 50 行后进行提交)。
这样做是好的做法还是有其他方法可以解决这个问题?
最佳答案
提交用于数据库中的原子操作。你不会只是因为你喜欢而把它们扔来扔去。每个事务通常(取决于隔离级别,但假设串行隔离)是一个独特的、全有或全无的操作。
如果您不知道是什么导致数据库事务花费“长时间”,您应该阅读日志或与知道如何诊断“缓慢”原因并采取补救措施的人员交谈。最可能的原因是配置错误。
底线是,人们的事务可以将 100,000 甚至数百万行作为单个事务插入,而不会引起问题。一般来说,出于性能原因最好不要经常提交。
关于java - 在java代码中频繁提交插入数据库是一个好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29438303/
在我生活的世界中,构建一个将所有飞镖都扔到墙上的解决方案,并希望其中一些能命中靶心是一种非常糟糕的解决方案方法。 那么,我的问题出现了,什么时候在约定可接受的生产系统中使用 INSERT IGNORE
在数据处理时,经常会因为index报错而发愁。不要紧,本次来和大家聊聊pandas中处理索引的几种常用方法。 1.读取时指定索引列 很多情况下,我们的数据源是 CSV 文件。假设
关闭。这个问题是opinion-based .它目前不接受答案。 想要改进这个问题? 更新问题,以便 editing this post 可以用事实和引用来回答它. 关闭 6 年前。 Improve
我是一名优秀的程序员,十分优秀!