[20130121]應用程式訪問那些表.txt

lfree發表於2013-01-21
[20130121]應用程式訪問那些表.txt

前一陣子要最佳化一個專案,表結構使用的漢語拼音的首字母作為表名,又沒有註解說明,要了解應用的細節,解決應用的問題太麻煩了。
我想先確定程式主要使用那些表,想到了以前遇到的v$access檢視。

http://space.itpub.net/267265/viewspace-717912

透過它應該可以確定應用經常使用的那些表以及檢視,主要了解靠前的表就可以解決問題。

WITH a AS
     (SELECT  /*+ materialize */  owner, OBJECT, TYPE, COUNT (*)
          FROM v$access
         WHERE SID IN (SELECT SID
                         FROM v$session
                        WHERE UPPER (module) = 'XXXX.EXE')
      GROUP BY owner, OBJECT, TYPE
      ORDER BY COUNT (*) DESC)
SELECT *
  FROM a
 WHERE TYPE IN ('TABLE', 'VIEW') AND owner NOT IN ('SYS', 'SYSTEM');

--不加materialize會很慢。

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

相關文章