2015-02-26 21 views
0

我試圖執行這個需要很長時間纔沒有執行的Oracle查詢,但是當我上週運行這個查詢時,大約需要30分鐘執行。查詢看起來對我來說絕對很好,不知道問題是什麼。 請協助。Oracle SQL Query之前運行良好,但現在需要很長時間而不執行

select (select current_date from dual) as CURR_DATE, 
     dealer_code dealer, 
     trunc(transmit_ts) transmit_date, 
     count(*) records 
from DEALER_PART_INVENTORY_VW 
where trunc(TRANSMIT_TS) between '01-Jan-14' and current_date 
group by dealer_code, trunc(transmit_ts) 
order by 1 asc, 2 asc, trunc(transmit_ts) desc 
+0

因此,它用來執行更快?更多的數據,因爲在'01 - 1月14日'和current_date之間增加每一天?數據庫統計? – jarlh

+0

推測,'_VW'表示'from'子句指的是一個視圖。這可能是問題所在。 –

+0

發佈解釋計劃 – davegreen100

回答

0

如果根本沒有執行它,則可能是由於打開的事務在表上存在鎖定。

確保所有交易都已關閉並再次嘗試。

此外,如果查詢運行良好需要30分鐘,我建議更新數據庫統計信息。

+0

您不能在Oracle中阻塞(只讀)'select'語句。 –

相關問題