我對Oracle在性能調優中看到的一些常見問題有疑問。我有一個查詢,我正在測試。對於我來說,提供一個簡單的例子太複雜了,對不起! (我試圖降低它,但失去了症狀)Oracle查詢第二次更慢
我第一次運行查詢,它是2秒。隨後的時間是3,4,甚至5秒。這種情況持續發生 - 如果我改變間距,我再次得到2秒,然後它恢復。
這與我所期望的相反 - 在第一次之後,數據庫不需要解析查詢,塊應該讀入緩衝區緩存。我能想到的唯一的事情就是它在某處寫入臨時數據,以這樣的方式寫和讀它比讀它更快。但這當然沒有意義。
有誰知道爲什麼會發生這種情況?或者執行計劃中的任何紅旗會導致類似的情況?
僅供參考,這是一個SELECT,包含多個連接,聚合和視圖。沒有內部的PL/SQL。
謝謝
這與我所期望的相反。解釋計劃輸出是否從運行到運行改變? – Twelfth
我不認爲你應該[crossposting](http://dba.stackexchange.com/questions/50594/oracle-query-is-slower-the-second-time)這個... – mustaccio
@mustaccio - 對不起,我認爲這適合於數據庫論壇,但後來我看到Stackoverflow中有多少個問題與我的標籤相匹配,並認爲我會在這裏獲得更好的運氣。此外,你是唯一一個回答你的人可能會從中得到分數! – orbfish