又在晚上接到CPU衝高的電話 |
看了ASH 15分鐘內的報表 |
就程式存取資料的效能問題 |
table size 2~3G |
FTS 在RAC 環境下,相較於single instance |
問題會被放大好幾倍 |
因為跟RAC Node間的溝通有關係 |
去看ash 報表裡頭top session就知道了 |
RMV 在做什麼 ?? |
這是Oracle 官方文件上的描述 |
晚上我也懶得深究 |
以為AP單位沒建索引 |
就建議他們在EMAIL欄位建出相應的index |
不過隔天看mail時 |
他們家leader就告訴我 |
該欄位有索引 |
我查過internal view |
也確實是有索引 |
我就透過set autotrace on來查看執行計畫 |
ㄝ...... |
不對啊...optimizer有跑索引阿~~ |
手動執行了一次 |
反正email隨便杜撰一個就行了 |
應該連千分之一秒都用不到 |
去調了awr 裡頭該sql 的執行數據 |
每次執行要花5秒......... |
程式是用java寫的 |
其實這狀況我在其他公司及其他資料庫都碰過 |
sql 手動跑都正常 |
但是透過Java跑就是跑FTS |
因為他們家老大強調要增加CPU |
我做了如下答覆 |
這個case 應該是 bind variable的問題 |
可以參考metalink 文件401068.1 |
或者也可以看一下我之前駐點在其他site所發生的案例 |
Oracle Bind Variable |