アクセスが多いテーブル、クリティカルなテーブルをチェックする時

運用年数が10年以上もあると不要なテーブルから、いっぱいあってどれが一番アクセスが多いのかをロジックから見るのは途方もない時間がかかる。

 

そういう時に便利なSQLがありました。

 

SELECT COUNT (*), object_name
FROM v$sql_plan
WHERE operation = 'TABLE ACCESS'
GROUP BY object_name
ORDER BY COUNT (*) DESC;

でアクセスが多いテーブルがわかる

これで以外なテーブルがアクセスが多い事がわかった。。

 

あと、パフォーマンスチューニングをしていく上でデータ削減をしていく上で消すとクリティカルなテーブルがどれかを調査する必要があります。

 

そこで便利なSQLがこれ、

f:id:sekaimon-staff:20170207104033p:plain

これで各テーブルのプライマリーキーがわかるのである程度どのテーブルがどれだけ大事かがわかる。