优化 SQL 查询:提高 'select * from (select ...)' 查询效率

以下 SQL 查询包含一个子查询和左连接,可以进行优化以提高查询效率:

select *
from 
(select id,name from a
left join
select id,age from b on a.id = b.id) t1
where t1.age < 50

优化建议

  1. 将子查询中的左连接改为内连接:由于只关心年龄小于 50 岁的记录,左连接会额外查询所有数据,造成资源浪费。改为内连接仅查询匹配的记录,效率更高。
  2. 添加对表 a 和表 b 的索引:索引可以提高连接效率,尤其是对 id 字段进行索引。

优化后的 SQL

SELECT a.id, a.name, b.age
FROM a
INNER JOIN b ON a.id = b.id
WHERE b.age < 50;

同时,确保表 a 和表 b 上的 id 字段都有索引。

通过以上优化,可以显著提升 SQL 查询效率。

优化 SQL 查询:提高 'select * from (select ...)' 查询效率

原文地址: https://www.cveoy.top/t/topic/lOAn 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录