oracle初学者求问大神有关执行效率的问题

[复制链接]
查看11 | 回复2 | 2021-1-27 07:17:29 | 显示全部楼层 |阅读模式
我把两个select语句的结果集做内连接查询,如何修改语句可以提高执行效率.代码如下:
selectt.District,
t.Count,
t.set,
t.Area,
t1.Rooms,
t1.Area,
t.set-RoomsasUnRooms,
t.Area-t1.AreaasUnArea,
0asSaleCount,
0asSaleArea,
0asUnsaleCount,
0asUnsaleArea
from
(
selecta1.A1asdistrict,
count(a1.A1)asCount,
nvl(sum(b.b4),0)asArea,
nvl(sum(b.b5),0)asset
frombrightjoin
a1onnvl(b.b1,b.b2)=a1.A1andb.b3='1'
groupbya1.A1,a1.A2
orderbya1.A2
)tinnerjoin
(
selecta1.A1asdistrict,
nvl(sum(s.s3),0)asRooms,
nvl(sum(s.s4),0)asArea
fromsrightjoin
bons.s1=b.b6ands.s2=1rightjoin
a1onnvl(b.b1,b.b2)=a1.A1andb.b3='1'
groupbya1.A1,a1.A2
orderbya1.A2
)t1ont.district=t1.district;
我知道使用自查询会影响执行效率,但是我实在不清楚该怎么去修改sql语句,求各位大神指教.
分 -->
回复

使用道具 举报

千问 | 2021-1-27 07:17:29 | 显示全部楼层
优化需要了解各方面的情况,例如,表数据的情况,索引情况,执行计划等,简单看一下SQL语句,是不能判断是否能优化的。坦率讲,你这个SQL,优化的途径还是比较有限的。如果楼主不介意,可以把我说的这些情况贴出来看看。
回复

使用道具 举报

千问 | 2021-1-27 07:17:29 | 显示全部楼层
你这没有优化余地了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行