我写了一个查询语句如下:
select FreightOrder.Fromsitecode fromwarehouse,
FreightOrder.Fromsitename FromWHName,
FreightOrder.Tositecode toWarehouse,
FreightOrder.Tositename TOWHName,
packline.ordertype,
item.uniquekey item,
sysdate statisticdate,
facility.ownership,
packline.packqty,
packline.packqty * parameter.parvalue inventoryvalue,
facility.category
from
itaitem item,
BOAPARGRP ParGroup,
BOABOPARAM parameter,
FMPFRGTORD FreightOrder,
WHAMPACLST MainPackList,
WHAMPACLIN packline,
loafacilit facility
where
item.Uniquekey = ParGroup.Parentbo and
parameter.parentgroup = parGroup.Uniquekey and
MainPackList.Foid = FreightOrder.Pid and
packline.parentlist = mainpackList.Uniquekey
其中itaitem, BOAPARGRP,BOABOPARAM都是大表(100万),我希望的执行计划应先连接小表,在连接大表。但执行计划总先连接三个大表。 如何改变执行计划的顺序?
select FreightOrder.Fromsitecode fromwarehouse,
FreightOrder.Fromsitename FromWHName,
FreightOrder.Tositecode toWarehouse,
FreightOrder.Tositename TOWHName,
packline.ordertype,
item.uniquekey item,
sysdate statisticdate,
facility.ownership,
packline.packqty,
packline.packqty * parameter.parvalue inventoryvalue,
facility.category
from
itaitem item,
BOAPARGRP ParGroup,
BOABOPARAM parameter,
FMPFRGTORD FreightOrder,
WHAMPACLST MainPackList,
WHAMPACLIN packline,
loafacilit facility
where
item.Uniquekey = ParGroup.Parentbo and
parameter.parentgroup = parGroup.Uniquekey and
MainPackList.Foid = FreightOrder.Pid and
packline.parentlist = mainpackList.Uniquekey
其中itaitem, BOAPARGRP,BOABOPARAM都是大表(100万),我希望的执行计划应先连接小表,在连接大表。但执行计划总先连接三个大表。 如何改变执行计划的顺序?
解决方案 »
- oracle 取随机数(涉及概率)问题
- 如何制造重复数据
- oracle sql查询问题
- 求助,这条SQL怎么写?
- 双系统Oracle9启动菜单丢失怎样回复
- NT+ORACLE8I+MS cluster 如何实现?
- 高分求助两台数据库之间实现同步
- 添加多条记录失败。。。
- 9i,使用manager console,用登录到management server,在managerment server中填写了我机器的ip或机器名,用sysman/oem_temp,提示我输入
- 再问高手:配置LISTNER时, 一般有个extproc, 它做什么用?
- pl/sql能和用户交互吗?
- 新手请教一个触发器的写法,谢谢
实在不行,就用hint来指定, 你用的是cbo?
试试用hash join吧,同时注意你的hash area size不能过小.hint: select /*+ use_hash(..) */ .. .from ...