果糖网

Oracle批量插入特别慢的问题 返回

SqlSugar
10 99

各位大神,请教当升级到新版本5.0.2.8后,Oracle插入5000条数据大约需要五分钟以上,以前使用的版本是5.0.1.5跟踪发现主要是卡在

DbClient.Insertable(entity.TcmCardFabricationDet.ToArray()).ExecuteCommand();

请教各位是什么原因,如何解决这个问题呢?

热忱回答10

  • 文档Oracle有介绍  https://www.donet5.com/Home/Doc?typeId=1220  如何ORACLE 批量操作

    0 回复
  • 看第4条

    0 回复
  • 按上述说明也配置了DisableNvarchar = true,使用上述语句插入5000条记录仍然要等三分钟,请问还有其它原因吗?

    0 回复
  • 修正提问,我反复试用各个版本,在不修改其它任何代码的前提下,使用5.0.0.15及以前的版本在Oracle中插入5000条数据不到2秒,而从5.0.0.16及以后版本5000条数据要180-220秒左右,查看更新记录估计和重构Oracle批量插入有关系。


    5.0.0.16

    更新内容如下:

    1、重构Oracle批量插入,支持返回自增列,修复以前一些遗留问题(序问题在5.0.0.17修复

    2、重构MYSQL和SQLITE批量插入,提高性能

    3、修复 不支持With(SqlWith.NoLock) 数据库,使用With错误问题


    5.0.0.15

    长达数月以来的稳定版本


    0 回复
  • @雨中漫步:文档说的不是nvarchar 你认看了没有

    0 回复
  • 认真看了,我所有字段都没nvarchar类型,都varchar2类型。企业微信截图_20210428141041.png

    0 回复
  • 谢谢,应该是Oracle数据库方面的原因造成。

    0 回复
  • @雨中漫步:我说的是第5条

    0 回复
  • 不是nvarchar那个例子

    0 回复
  • 好的,感谢,我已按第5条调整。

    0 回复

学习文档