人大金仓批量更新失败 返回

SqlSugar 沟通中
24 452

QQ_1754989081088.png

QQ_1752024097571.png

执行时卡在了更新这里

热忱回答24

  • fate sta fate sta VIP0
    2025/8/12

    更新的LIST是多少条

    0 回复
  • fate sta fate sta VIP0
    2025/8/12

    如果更新条数太多需要加上Pagesize(20)

    0 回复
  • 就2条数据

    0 回复
  • QQ_1755055843420.png监控了下 生成语句花了将近2分钟

    0 回复
  • @fate sta:有办法解决吗

    0 回复
  • fate sta fate sta VIP0
    2025/8/14

    Updateable.ToSql()看一下要用多久,怎么可能生成SQL花2分钟

    0 回复
  • fate sta fate sta VIP0
    2025/8/14

    大概率是你不是主键更新导致索引没命中。

    0 回复
  • fate sta fate sta VIP0
    2025/8/14

    如果是SQL慢AOP把SQL拿出来。看一下SQL为什么慢

    0 回复
  • 这个就是AOP里监控出来的 

    0 回复
  • QQ_1755148204626.png

    QQ_1755148222445.png

    单单生成就花了97S

    0 回复
  • QQ_1755149140787.png第二次请求就很快

    0 回复
  • fate sta fate sta VIP0
    2025/8/14

    那就提供一个DEMO,能让ToSql花22秒的。

    0 回复
  • fate sta fate sta VIP0
    2025/8/14

    删掉OBJ和BIN打包上传

    0 回复
  • 怎么上传啊 发布后的吗

    @fate sta

    0 回复
  • fate sta fate sta VIP0
    2025/8/19

    上传DEMO代码 删掉OBJ和BIN 压缩成rar上传到论坛附件。

    0 回复
  • 0 回复
  • @fate sta:能查到原因吗

    0 回复
  • fate sta fate sta VIP0
    2025/8/26

    没办法测试,你不是构造的空类,是从数据库查的。

    要循环手动构造一个LIST我才能测试

     

     这样你加上分页试试


     base.Context.Updateable(list).PageSize(100).ExecuteCommand();


      

    0 回复
  • Test.rar

    现在手动构造了 麻烦看下

     base.Context.Updateable(list).PageSize(100).ExecuteCommand();这个试了不行

    0 回复
  • fate sta fate sta VIP0
    2025/8/27

         base.Context.Updateable(list).UseParameter().ExecuteCommand();


    用参数化插入试一下,你这个可能是获取数据库类型的SQL卡了。

    0 回复
  • fate sta fate sta VIP0
    2025/8/27

    底层用到了这个方法 ,你看看这个方法为什么卡住。

      db.DbMaintenance.GetColumnInfosByTableName("表名")

    0 回复
  • fate sta fate sta VIP0
    2025/8/27

     UseParameter方式更新不会执行上面方法

    0 回复
  • fate sta fate sta VIP0
    2025/8/27

    另外人大金仓要设置模式的 databaseModel=datatype.SqlServer  

    0 回复
  •   base.Context.Updateable(list).UseParameter().ExecuteCommand(); 这个可以了  

    底层用到了这个方法 ,你看看这个方法为什么卡住。

      db.DbMaintenance.GetColumnInfosByTableName("表名")

    这个有时间看吧 底层的我这里没有动到过

    databaseModel=datatype.SqlServer   这个是设置了的

    0 回复