qq_36077422 2019-03-07 17:31 采纳率: 0%
浏览 1761

SQL 语句优化 GROUP BY 使用 HAVING 查询非常慢,和不添加筛选条件情况相差几十倍速度

这是不加HAVING 条件的,时间不到1S
这是添加HAVING 条件,为了赛选Ks_Student_List(课消表) 学员课消次数大于3,时间超过30S
使用HAVING 添加条件赛选,为了赛选Ks_Student_List(课消表) 学员课消次数大于3,效率极低,不明原因,请大神指点

  • 写回答

1条回答 默认 最新

  • 憧憬blog 2023-03-15 08:39
    关注

    您好,根据您提供的信息,添加 HAVING 条件后的查询效率明显下降,可能有以下原因:

    1. 子查询。

    查询语句中使用子查询可能会导致性能下降,因为子查询需要进行多次查询,而且每次查询只返回一个结果。建议您尝试使用 JOIN 操作,将 Ks_Student_List 表与其他表关联查询,以减少子查询的次数。

    1. 索引。

    没有为需要查询的列添加适当的索引可能导致查询性能下降。请检查 Ks_Student_List 表中需要使用的列是否有添加索引,如果没有,则需要添加相应的索引来提高查询效率。

    1. 数据量。

    查询的数据量越大,查询时间越久。如果 Ks_Student_List 表中的数据非常多,添加 HAVING 条件后查询时间就会比不添加条件的长很多。建议您考虑分页查询或者优化查询语句,以缩短查询时间。

    1. 服务器性能。

    如果查询语句中使用的表过多或者数据量过大,服务器性能可能会影响查询效率。建议您检查服务器配置是否合理,并且进行优化,以提高服务器性能。

    综上所述,您可以结合以上原因来优化您的查询语句。可以试试以下几个方法:

    • 使用 JOIN 操作,避免使用子查询
    • 为查询需要使用的列添加索引
    • 考虑进行分页查询或优化查询语句,以减小数据量
    • 检查服务器配置,进行优化

    希望能对您有所帮助!

    评论

报告相同问题?

悬赏问题

  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集