新系統上線,10G 資料庫負載持續高
Oracle 10g RAC, 3 NODES
Linux AS 5.3 64bit
最近新上線的程式或procedure中都會有類似下面SQL語句, 以前只有serial_number 欄位條件,現在加上了carton_no ,
WIP_D_SN_MASTER 表有300萬記錄, serial_number及carton_no都有index, 但是serial_number 建立index沒有任何
問題, 它的distinct 值很多, 但是carton_no 95% 的值是 'N/A' , 其他很少一部分才有值, procdure呼叫這個SQL, 傳入
的引數同時賦給 serial_numbe 及carton_no , 我們測試代入 serial_number 的真實值, 可以走serial_number 的index ,
下面是我們在OEM中抓到的對應的這個語句,可惜引數只是 :V00001 及 :V00002 , 按照procedure寫法,這兩個引數值是
一樣的, 但是看到的這個SQL的執行計劃卻是full table scan 。
AWR報告中也報這個語句執行需要 1 秒,但是我們手工代入serial_number 值,執行非常快 ,只需要幾十毫秒 。 奇怪了。
SELECT BATCH_NO, WIP_D_SN_MASTER.ROWID FROM WIP_D_SN_MASTER
WHERE (SERIAL_NUMBER = :V00001 OR CARTON_NO = :V00002) AND ROWNUM = 1 ;
Linux AS 5.3 64bit
最近新上線的程式或procedure中都會有類似下面SQL語句, 以前只有serial_number 欄位條件,現在加上了carton_no ,
WIP_D_SN_MASTER 表有300萬記錄, serial_number及carton_no都有index, 但是serial_number 建立index沒有任何
問題, 它的distinct 值很多, 但是carton_no 95% 的值是 'N/A' , 其他很少一部分才有值, procdure呼叫這個SQL, 傳入
的引數同時賦給 serial_numbe 及carton_no , 我們測試代入 serial_number 的真實值, 可以走serial_number 的index ,
下面是我們在OEM中抓到的對應的這個語句,可惜引數只是 :V00001 及 :V00002 , 按照procedure寫法,這兩個引數值是
一樣的, 但是看到的這個SQL的執行計劃卻是full table scan 。
AWR報告中也報這個語句執行需要 1 秒,但是我們手工代入serial_number 值,執行非常快 ,只需要幾十毫秒 。 奇怪了。
SELECT BATCH_NO, WIP_D_SN_MASTER.ROWID FROM WIP_D_SN_MASTER
WHERE (SERIAL_NUMBER = :V00001 OR CARTON_NO = :V00002) AND ROWNUM = 1 ;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-627229/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 安全缺陷持續升高,新系統帶來新缺陷(轉)
- 從業務角度分析奇怪的資料庫高負載問題資料庫負載
- HTTP非持續連線和持續連線HTTP
- 國產資料庫考試資料彙總(持續更新)資料庫
- MVCC缺陷與高負載PG資料庫最佳化要點MVC負載資料庫
- 10G client連線資料庫client資料庫
- openGauss持續聚焦資料庫根技術資料庫
- linux高負載下mysql資料庫徹底最佳化(轉)Linux負載MySql資料庫
- Oracle資料庫 11.2.0.4 EMON程式持續消耗CPUOracle資料庫
- SQL Server資料庫實現負載均衡SQLServer資料庫負載
- 持續可用與CAP理論 - 一個資料庫系統開發者的觀點資料庫
- ORACLE資料庫降低高水位線方法Oracle資料庫
- 使用流水線外掛實現持續整合、持續部署
- 構建持續高可用系統的破局之道
- Oracle 11g 資料庫伺服器CPU、IO負載高的故障排除流程Oracle資料庫伺服器負載
- 資料庫系統負載高居不下,使用者程式佔用系統資源約99%資料庫負載
- 持續整合、持續部署、持續交付、持續釋出
- Linux上檢視造成IO高負載的程式Linux負載
- 2.8 使用資料庫服務管理應用負載資料庫負載
- 技術資源下載(持續補充更新)
- SQL server資料庫連線不上SQLServer資料庫
- 300+篇運維、資料庫等實戰資料免費下載(文章+PDF+視訊,持續更新)運維資料庫
- 資料庫與Redgate SQL Toolbelt和Azure DevOps的持續整合資料庫SQLdev
- oracle資料庫連續相同資料的統計方法Oracle資料庫
- 轉載pythonmysql資料庫連線PythonMySql資料庫
- 在solaris 10上安裝oracle 10g資料庫Oracle 10g資料庫
- Nginx負載均衡高可用Nginx負載
- 資料庫的讀寫分離與負載均衡策略資料庫負載
- 使用shell指令碼檢視資料庫負載情況指令碼資料庫負載
- 資料庫負載急劇提高的應急處理資料庫負載
- PHP學習路線資源總結[持續更新]PHP
- 持續整合、持續交付、持續部署簡介
- 說說大型高併發高負載網站的系統架構(轉載)負載網站架構
- 持續整合持續部署持續交付_持續整合與持續部署之間的真正區別
- 新系統中主資料編號已被佔用
- 這麼強?!Erda MySQL Migrator:持續整合的資料庫版本控制MySql資料庫
- 資料分析面試|SQL真題持續更新面試SQL
- 新資料:JAVA持續下滑.將被超越?Java