日期:2014-05-17  浏览次数:20735 次

一段SQL里只用到了远程表,用DRIVING_SITE HINT有作用么

如题,一段SQL中,用到了4张远程表,对其中2张做了DRIVING_SITE
从理论上讲,对性能会有帮助么。

------解决方案--------------------
可以在分布式查询中大大减少网络流量,加快查询速度
除非是自己搞乱了大表小表,不然应该有用的额
------解决方案--------------------
如果CIM03 CIM25 CIY80 CIY81 都是远程表,为什么不加4张表呢?

SELECT     /*+ DRIVING_SITE(CIM03) DRIVING_SITE(CIM25) DRIVING_SITE(CIY80) DRIVING_SITE(CIY81) */
DISTINCT t1.itemcode as itemcode
FROM      cim03 t1
INNER JOIN cim25 t2 ON t1.itemcode = t2.itemcode
WHERE  t1.itemkbn IN ( '01','02','08')
AND   t1.itemcode  IN ('0011008300','0011009300','0011018100',
'0011020000','0011046000','0011047000')
AND t1.insertdate <= 20130828
AND EXISTS(SELECT 1
FROM ciy80 t3
, ciy81 t4
WHERE t1.itemcode = t4.itemcode) ORDER BY bcode asc , jcode asc , itemcode asc