系統中存在乙個模組,需要完成大量的合法性檢查和查詢,為了提高效能,設計了儲存過程包和乙個主儲存過程,由資料訪問層呼叫,
但是在執行該模組的時候經常超時,甚至等丟擲待鎖的錯誤。在我的計算機上同樣安裝了oracle,但是執行該儲存過程的時間不超過5秒鐘,
使用該模組的時候效能也是表現很好。花費了將近乙個星期的時間對該執行該儲存過程進行優化,但是問題依然沒有得到解決,百思不得其解。
後來想到我們的系統是乙個分布式的系統,客戶端運算元據都是通過中介軟體伺服器進行的。懷疑是不是中間價伺服器與oracle伺服器通訊的效能
很差的原因造成的。在中間價伺服器上安裝了pl/sql developer,然後執行上述的儲存過程,這時候乙個非常奇特的現象出現了,儲存過程執行的時候特別的慢,
消耗了11分鐘才執行完畢。也就是說,系統的效能瓶頸可能在中介軟體伺服器與oracle伺服器的通訊上。
為了驗證這個問題,在另外一台測試伺服器上安裝了oracle,建立相關的資料環境,同樣執行該儲存過程的時間沒有超過5秒鐘。也就是說
可以確定中介軟體伺服器與oracle伺服器的通訊是系統效能的瓶頸。
客戶的oracle伺服器作業系統是unix作業系統,硬體是小型機,中間價伺服器採用windows server2003 r2,按照常規的理解,其效能應該
非常好才對。因為沒有許可權對unix操作的設定做檢查,對 unix作業系統也不是特別精通,經協商讓使用者諮詢ibm等**商來解決這個問題。目前使用者
暫時將oracle安裝到windows平台下使用。
由此想到我們平時總是強調pl/sql和oracle的效能優化,是完全從程式的角度出發的優化方式,其實有的時候效能不僅僅是程式的問題,同樣
硬體對效能的影響也是非常大的,甚至是致命的。
影響效能的因素藏在系統應用環境的每乙個角落!!
在乙個儲存過程裡面執行另乙個儲存過程的應用
alter procedure dbo voucheroutbound backinsurance add the parameters forthe stored procedure here iu id int,icc id int,ic id int,uv currentno varchar ...
儲存乙個物件的時候, Django執行下面的步驟
發出乙個預存訊號。它發出乙個將要儲存乙個物件的通知。你可以註冊乙個監聽程式,在訊號發出的時候就會被呼叫。預處理資料。對於物件的每個字段,將根據需要進行自動的資料修改。大部分欄位並不預處理,它們會保持它們原來的樣子。預處理僅僅用在那些有特殊性質的字段,比如檔案字段。為資料庫準備資料。每乙個欄位先要把當...
乙個儲存過程
create or replace package abc zys is procedure daily census end abc zys 建乙個包,包中有儲存過程daily census。不涉及任何引數。create or replace package body abc zys is pro...