知识增强-内连接

1.隐式内连接执行流程

形成笛卡尔积

操作:将 表1 的每一行与 表2 的每一行进行组合。
结果:生成 表1行数 × 表2行数 的临时结果集。

应用 WHERE 条件过滤

操作:从笛卡尔积中筛选出满足关联条件的行。
筛选条件:通常是 表1.字段 = 表2.字段(如 WHERE t1.id = t2.t_id)。

最终结果

结果集:仅保留两表中能通过关联条件匹配的行。

2.显式内连接(INNER JOIN)

核心步骤一致

  1. 数据组合:生成两表的笛卡尔积(所有可能的行组合)。
  2. 条件过滤:通过关联条件(如 ON t1.id = t2.t_idWHERE t1.id = t2.t_id)筛选出有效行。
  3. 结果输出:返回满足条件的行。

3.差异

  • 隐式内连接
    优化器需从 WHERE 子句中解析出关联条件,可能因条件复杂而影响优化策略。
  • 显式内连接
    关联条件通过 ON 子句明确分离,优化器更易识别并生成高效执行计划(如优先使用索引)
posted @ 2025-04-21 10:30  遇事不决先睡觉  阅读(48)  评论(0)    收藏  举报