跳到主要内容

1 篇博文 含有标签「连接消除」

查看所有标签

SQL优化技巧 - 连接消除

· 阅读需 6 分钟
PawSQL Team
Optimize your SQL Queries by Clicks!

定义

连接消除(Join Elimination)通过在不影响最终结果的情况下从查询中删除表,来简化SQL以提高查询性能。通常,当查询包含主键-外键连接并且查询中仅引用主表的主键列时,可以使用此优化。

考虑下面的例子,

select o.* from orders o inner join customer c on c.c_custkey=o.o_custkey

订单表(orders)和客户表(customer)关联,且c_custkey是客户表的主键,那么客户表可以被消除掉,重写后的SQL如下: