Oracle下UpdateBatch导致主键索引失效(严重BUG) 返回

SqlSugar
7 287
该叫什么 hans 发布于2021/12/31
悬赏:5 飞吻

Oracle下,有个严重的Bug:使用UpdateBatch时sqlsugar生成的脚本如下,WHERE 条件里默认会给char型字段的值前加N,导致索引失效,大表的批量更新就很慢;

Sqlserver字段的值前加N不会导致索引失效,Oracel会失效。

脚本里NID是主键,字段类型是char(36);


Begin 

UPDATE  MM_MATERIAL_BOM_ITEM  SET  DELETE_FLAG =N'1'  WHERE NID = N'1dfac21b-46eb-46af-a6e6-5b38dd3d7358'; 

End;


热忱回答7

  • fate sta fate sta VIP0
    2021/12/31

    文档 oracle有介绍,可以禁止N

    0 回复
  • fate sta fate sta VIP0
    2021/12/31

    并且新版本guid不会生成N

    0 回复
  • fate sta fate sta VIP0
    2021/12/31

    实体用GUID

    0 回复
  • hans hans VIP0
    2021/12/31

    多谢大神的答复

    0 回复
  • hans hans VIP0
    2021/12/31

    @fate sta

    实体改成GUID来不及了,项目这两天要上线;

    希望能有个判断,如果是主键就不生成N


    0 回复
  • fate sta fate sta VIP0
    2021/12/31

    @hans:文档不是有写禁止N?

    0 回复
  • fate sta fate sta VIP0
    2021/12/31

    文档ORACLE自个看一下

    0 回复