强制使用NESTED LOOPS的时候,几个表的嵌套顺序要什么规则么

[复制链接]
查看11 | 回复1 | 2007-9-26 18:42:10 | 显示全部楼层 |阅读模式
新手请教各位大侠~!
强制使用NESTED LOOPS的时候,几个表的嵌套顺序要什么规则么,比如语句这样写:
Select /*+use_nl(a b c d)*/
a.Svcnum, b.Rsrcid, c.Imsi, d.Subsvcid
From Ac_App_Yy.Tab_Subscrb a, Ac_App_Yy.Tab_Gsmsubscrb b, Ac_App_Yy.Tab_Sim c, Ac_App_Yy.Tab_Srvg d
Where a.Areaid = '074741' And b.Areaid = '074741' And a.Subscrbid = b.Subscrbid And b.Rsrctypeid = '2' And

Sysdate Between b.Begintime And Nvl(b.Endtime, Sysdate + 1) And c.Sim = b.Rsrcid And c.Svcid = '10' And

c.Areaid = '074741' And a.Subscrbid = d.Subscrbid And d.Areaid = '074741' And d.Svcid = '10' And

d.Removedate Is Null And d.Subsvcid = '000000310'
数据量都是百万以上,d 最大,其他相当
语句中/*+use_nl(a b c d)*/abcd的顺序和嵌套顺序有关系么?
回复

使用道具 举报

千问 | 2007-9-26 18:42:10 | 显示全部楼层
要看你选择条件哪个最苛刻,查询出来的数据条数最少做基本.
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行