优化 SQL 查询:提高 'select * from (select ...)' 查询效率
优化 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
优化建议
- 将子查询中的左连接改为内连接:由于只关心年龄小于 50 岁的记录,左连接会额外查询所有数据,造成资源浪费。改为内连接仅查询匹配的记录,效率更高。
- 添加对表 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 查询效率。
原文地址: https://www.cveoy.top/t/topic/lOAn 著作权归作者所有。请勿转载和采集!