数据库查询与orm查询效率不成正比 返回

SqlSugar 处理完成
16 462
该叫什么 奋青 发布于2024/7/26
悬赏:0 飞吻

图片.png

数据库里里的查询都是毫秒级别的出来,但是ORM 响应 5分钟内都无法查询出来,还超时

这可能是什么地方设置不对吗?

图片.png图片.png

sql都是同样的,但是执行效果却相差极大

热忱回答16

  • 奋青 奋青 VIP0
    2024/7/26

    图片.png

    0 回复
  • fate sta fate sta VIP0
    2024/7/26

     这个改成nvarchar或者配置字符串类型  , 默认字符串类型不同引起的索引失效

    0 回复
  • fate sta fate sta VIP0
    2024/7/26

    https://www.donet5.com/Home/Doc?typeId=2361

    0 回复
  • fate sta fate sta VIP0
    2024/7/26

    DbType.string是nvarchar不是varchar

    DbType.AnsiString 这个是varchra

    0 回复
  • 奋青 奋青 VIP0
    2024/7/26

    图片.png
    早上您说的是string 所以我才改的图片.png

    0 回复
  • 奋青 奋青 VIP0
    2024/7/26

    @fate sta:主要是我之前就是ansistring 但是效果跟现在是一样的 查询慢 图片.png

    0 回复
  • fate sta fate sta VIP0
    2024/7/26

    @奋青:你是sqlserver吗?

    0 回复
  • fate sta fate sta VIP0
    2024/7/26

    sqlsugar版本是不是新的,太老不行

    0 回复
  • fate sta fate sta VIP0
    2024/7/26

    如果是sqlserver用sqlprofile监控执行的SQL

    0 回复
  • fate sta fate sta VIP0
    2024/7/26

    可以拿到真实的执行SQL

    0 回复
  • fate sta fate sta VIP0
    2024/7/26

    如果是ORACLE,varchar2要这么写

    [SugarColumn(ColumnDataType = "nvarchar2",SqlParameterDbType =typeof(Nvarchar2PropertyConvert) )]
    public string Name { getset; }

    要这么写

    0 回复
  • fate sta fate sta VIP0
    2024/7/26

    这个问题参数类型不同引起的索引失效,你可Queryable.Where("name='xxx'") 进行测试 ,不用参数化 。

    0 回复
  • fate sta fate sta VIP0
    2024/7/26

    基本每种库我都文档有写注意点

    0 回复
  • 奋青 奋青 VIP0
    2024/7/26

    @fate sta:oracle 数据库

    0 回复
  • 奋青 奋青 VIP0
    2024/7/26

    @fate sta:我是拿的orm 生成的sql 在数据库执行的

    0 回复
  • 奋青 奋青 VIP0
    2024/7/26

    @fate sta:这个我再试试看

    0 回复