一條sql語句優化不出來, 哭了一鼻子

zhanglei_itput發表於2009-07-29

    週一上班,系統切換後的第一天,有一條sql語句死活優化不出來,在9i上明明是幾秒鐘,但是到了10g的機器,就是select不出來,佔用cpu 100%,氣死我了。

    其實本來就是一個技術工作,但是在領導們的各種各樣的壓力下,事情又昇華成了一個重大事件,我就像是被圍攻的一隻鳥,n多個人在我頭上說,應該這樣做,應該那樣做,應該搭建備用環境,明天之前必須出來,應該調整資料庫引數。。。。哎。。。。受不了了,終於爆發了,在給一個高手的求助電話中,忍不住了,哭鼻子了。。。(丟人)。

   我記得eygle跟我說過:有壓力才有動力。是啊,沒有壓力哪裡來的動力,沒有困難,又怎麼能夠成長。於是,我靜下心來,想想自己的問題究竟出在哪裡。首先我為了調整一條sql語句,草率的修改了資料庫中的隱含引數,這樣做導致了一條已知的sql優化,但是未知數的sql語句出現了問題,我的方向錯了。於是,我把所有的引數全部還原,讓前面所有的任務都過去了,就差最後一條sql語句,然後再集中精力研究最後一條sql語句,eygle幫忙看了看db的awr報告,和有問題sql語句的explain,發現sql語句的執行計劃完全錯了,他走了一個nested loop,而且是很大的大表,在專家的建議下,加了一個hints /*+ ordered use_hash(a b) */,強制走 hash join,結果執行計劃果真變了,幾十s出來了,啊,我終於鬆了一口氣。

    通過這件事情,發現了自己的很多缺點:
    1.  承受壓力的能力很差,情緒很受別人的影響
    2.  做事情還是不夠穩重,有事很草率,其實靜下心來,仔細想想,定位好方向。
    3.  基礎知識不牢固,有些東西總是模模糊糊,似乎知道,又似乎不知道,用到的時候,才覺得有些無從下手。

    在這裡,感謝eygle的幫助,再次表示感謝。

 

leiz隨筆

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9252210/viewspace-610768/,如需轉載,請註明出處,否則將追究法律責任。

相關文章