sql server之数据库语句优化
一切都是为了性能,一切都是为了业务 一、查询的逻辑执行顺序 (1) FROM left_table (3) join_type JOIN right_table (2) ON join_condition (4) WHERE where_condition (5) GROUP BY group_by_list (6) WITH {cube | rollup} (7) HAVING having_condition (8) SELECT (9) DISTINCT (11) top_specification select_list (9) ORDER BY order_by_list 标准的 SQL 的解析顺序为 : (1) FROM 子句 组装来自不同数据源的数据 (2) WHERE 子句 基于指定的条件对记录进行筛选 (3) GROUP BY 子句 将数据划分为多个分组 (4) 使用聚合函数进行计算 (5) 使用 HAVING 子句筛选分组 (6) 计算所有的表达式 (7) 使用 ORDER BY 对结果集进行排序 二、执行顺序 1. FROM :对 FROM 子句中前两个表执行笛卡尔积生成虚拟表 vt1 2. ON: 对 vt1 表应用 ON 筛选器只有满足 join_condition 为真的行才被插入 vt2 3. OUTER(join) :如果指定了 OUTER JOIN