Kevin's blog Kevin's blog
首页
  • AI基础
  • RAG技术
  • 提示词工程
  • Wireshark抓包
  • 常见问题
  • 数据库
  • 代码技巧
  • 浏览器
  • 手册教程
  • 技术应用
  • 流程规范
  • github技巧
  • git笔记
  • vpn笔记
  • 知识概念
  • 学习笔记
  • 环境搭建
  • linux&运维
  • 微服务
  • 经验技巧
  • 实用手册
  • arthas常用
  • spring应用
  • javaAgent技术
  • 网站
友情链接
  • 分类
  • 标签
  • 归档

Kevin

你可以迷茫,但不可以虚度
首页
  • AI基础
  • RAG技术
  • 提示词工程
  • Wireshark抓包
  • 常见问题
  • 数据库
  • 代码技巧
  • 浏览器
  • 手册教程
  • 技术应用
  • 流程规范
  • github技巧
  • git笔记
  • vpn笔记
  • 知识概念
  • 学习笔记
  • 环境搭建
  • linux&运维
  • 微服务
  • 经验技巧
  • 实用手册
  • arthas常用
  • spring应用
  • javaAgent技术
  • 网站
友情链接
  • 分类
  • 标签
  • 归档
  • JVM性能调优

  • 并发编程

  • MySql

    • Mysql索引底层数据结构与算法
    • Explain详解与索引最佳实践
    • Mysql事务隔离级别和锁
    • MVCC与BufferPool缓存机制
    • MySQL索引背后的数据结构及算法原理
    • sql优化工具
    • sql关键字执行顺序
    • spring

    • redis

    • zookeeper

    • rabbitMQ

    • 架构

    • 锁

    • 分库分表

    • 学习笔记
    • MySql
    kevin
    2024-08-23
    目录

    sql关键字执行顺序

    # sql关键字执行顺序

    1. FROM:从数据源(表或视图)中选择数据。
    2. WHERE:对数据进行过滤,应用 WHERE 子句条件。
    3. GROUP BY:对过滤后的数据进行分组。
    4. HAVING:对分组后的数据进行过滤(如果有 HAVING 子句)。
    5. SELECT:选择所需的列并应用聚合函数(如有)。
    6. DISTINCT:如果使用了 DISTINCT,会在这个阶段进行去重。
    7. ORDER BY:对选择的结果集进行排序。
    8. LIMIT:在排序后的结果集上应用 LIMIT,以返回指定数量的记录。

    因此,GROUP BY 是在 LIMIT 之前执行的。GROUP BY 会在 LIMIT 之前对数据进行分组,然后 LIMIT 只会限制分组后的结果集的记录数。

    # 解释:

    假设你有一个查询:

    sql
    复制代码
    SELECT r.refund_id, MAX(r.refund_amount)
    FROM om_refund r
    GROUP BY r.refund_id
    ORDER BY r.refund_id ASC
    LIMIT 1000;
    
    1
    2
    3
    4
    5
    6
    7
    • GROUP BY 执行:首先,查询会根据 refund_id 对数据进行分组,并计算每组的最大 refund_amount。
    • ORDER BY 执行:然后,查询结果按照 refund_id 进行升序排序。
    • LIMIT 执行:最后,查询只返回排序后的前 1000 条记录。

    这种顺序意味着,如果你在 GROUP BY 之前的数据集非常大,查询可能会先生成一个庞大的中间结果集,然后再应用 LIMIT。这在处理大量数据时,可能导致性能问题。

    # 总结:

    • GROUP BY 总是在 LIMIT 之前执行。
    • LIMIT 只是限制最终返回的结果集的数量,不能影响分组或排序过程。
    上次更新: 2025/01/13, 10:51:06
    sql优化工具
    Spring IOC加载源码

    ← sql优化工具 Spring IOC加载源码→

    最近更新
    01
    AI是如何学习的
    06-05
    02
    chatGpt提示原则
    06-05
    03
    提示词工程实践指南
    06-05
    更多文章>
    | Copyright © 2022-2025 Kevin | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式