处理检索大量数据的子查询

时间:2016-07-05 04:51:37

标签: sql oracle11g subquery oracle12c

我正在使用此查询:

$http({
 method: 'GET',
 url: '/someUrl'
}).then(function successCallback(response) {
   // this is asynchronous call back
  // you will get your data here comming from rest
}, function errorCallback(response) {
  // called asynchronously if an error occurs
});

此查询出现问题,子查询正在重新查找大量行,每次运行此查询时都会出现以下错误 -

select test.* from 
(
SELECT /*+ full(P) parallel(a,24) */
a.TRANS_DATE,a.STORE_NO,a.POS_NO,a.TICKET_NO,a.TICKET_START_TIME, a.INTERNAL_NO,
a.TRANS_DATE||a.STORE_NO||a.POS_NO||a.TICKET_NO||a.TICKET_START_TIME as VISITS,
s.city,s.region,
a.CUSTOMER_NO,
a.GROSS_AMT,
a.SALE_QTY,
a.DISCOUNT_AMT,
a.DISCOUNT_QTY,
S.FORMAT_CD,
S.FORMAT_DESC,
P.BRAND_ID,
P.BRAND_ID_DESC,
P.BRAND_TYPE,
P.BRAND_TYPE_DESC,
P.LEVEL1,P.LEVEL1_DESC,P.LEVEL2,
P.LEVEL2_DESC,P.LEVEL3,P.LEVEL3_DESC,P.LEVEL4,
P.LEVEL4_DESC,P.LEVEL5,P.LEVEL5_DESC,
P.Material_No,P.Medium_Desc,
b.mobile,
D.MOBILE,
ROW_NUMBER() OVER (PARTITION BY a.TRANS_DATE,a.STORE_NO,a.POS_NO,a.TICKET_NO,a.TICKET_START_TIME, a.INTERNAL_NO,
                                s.city,s.region,a.CUSTOMER_NO,a.GROSS_AMT,a.SALE_QTY,a.DISCOUNT_AMT,a.DISCOUNT_QTY,
                                S.FORMAT_CD,S.FORMAT_DESC,P.BRAND_ID,P.BRAND_ID_DESC,P.BRAND_TYPE,P.BRAND_TYPE_DESC,
                                P.LEVEL1,P.LEVEL1_DESC,P.LEVEL2,P.LEVEL2_DESC,P.LEVEL3,P.LEVEL3_DESC,P.LEVEL4,P.LEVEL4_DESC,
                                P.LEVEL5,P.LEVEL5_DESC,P.Material_No,P.Medium_Desc,b.mobile
                                ORDER BY D.MOBILE) as rnk
FROM  P
INNER JOIN  a ON a.Internal_No= P.Material_No
INNER JOIN  S ON TO_CHAR(a.STORE_NO)= S.STORE_NO
LEFT OUTER JOIN  b ON a.store_no=b.store_no and a.ticket_no=b.ticket_no and a.trans_date=b.trans_date
                                    and a.ticket_start_time=b.ticket_start_time and a.pos_no=b.pos_no
LEFT OUTER JOIN  d ON a.customer_no=d.customer_no                                    
where  a.TRANS_DATE between '07/04/2014' and sysdate
)test
where test.rnk=1 

如何在不增加TEMP表空间的情况下处理此问题。

最好的问候

0 个答案:

没有答案