码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 记一次 .Net+SqlSugar 查询超时的问题排查过程


    环境和版本:.Net 6 + SqlSuger 5.1.4.*   ,数据库是mysql 5.7 ,数据量在2000多条左右

    业务是一个非常简单的查询,代码如下:

    1. var list = _dbClient.Queryable<tb_name>()
    2. .ToList();

    tb_name 下配置了一对多的关系导航,但是执行时没有include导航属性,当执行上述代码时,查询非常慢,甚至会超时报错:

    The Command Timeout expired before the operation completed. 

    控制台打印了sql,在Navicate里执行也是很快的,非常的诡异,但代码里执行就查询不了,控制台记录的sql如下:

    随后,我查询了数据库的事务日志,发现也是正常的,emmm事情陷入了僵局.....

    然后突然想到只查询一个字段试试,发现执行非常快,就立马把单个字段换成了整个对象,执行速度也非常的快,代码如下:

    1. var list = _dbClient.Queryable<tb_name>()
    2. .Select(x => x)
    3. .ToList();

    控制台生成的sql为:select * from tb_name

    emmmm事情再次变得诡异,明明sql没什么差别,除了 * 和 列出各属性,按照我之前的了解,查询时使用字段名,比 select * 的效率是要高的,不知道sqlSugar内部的执行机制到底是怎么样的,为什么会有这个问题,现在没时间深究,先记录一下,希望能给遇到同样问题的小伙伴提供参考。

  • 相关阅读:
    企业级邮件系统架构
    【重拾C语言】八、表单数据组织——结构体(类型、类型别名、直接/间接访问;典例:复数、成绩单)
    redis基础操作
    Vue 路由
    Python毕业设计开题报告职业推荐系统
    11.23 - 每日一题 - 408
    [Firefox/快捷键] 禁用Ctrl-W快捷键
    SG-8201CJA:低抖动,高稳定性,体积小,可编程 专为ADAS应用:雷达,激光雷达,摄像头 符合汽车AEC-Q100标准,125℃操作
    使用libcurl请求https的get/post
    如何在 SwiftUI 中创建悬浮操作按钮
  • 原文地址:https://blog.csdn.net/qq_34811513/article/details/134055912
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号