2016-05-13 9 views
4

チューニング前とチューニング後に正しいsqlsをテストする方法を知りたい。 しかし、元のsqlを実行すると、チューニングされたSQLの結果が速すぎます。チューニングされたOracle SQLのテスト方法と、システム/ハードウェアのクリア・バッファをクリアする方法は?

私はフラッシュデータ・バッファ・キャッシュと共有プールをしましたが、それはまだ動作しませんでした...以下

How to clear all cached items in Oracle

を見つけました。 この質問からのこの回答は、私がもっと知りたいことに関係していると思われます。 オペレーティングシステムとハードウェアはキャッシングを行い、結果に偏りが生じることに注意してください。

Oracleのバージョンは11gで、ServerはHP-UX 11.31です。

サーバーは、Linuxだった場合、私は確かにそれは私が非常に長い時間を作品)

を探していますない」/proc/sys/vm/drop_caches'.(I'mを使用してバッファをクリアしようとした可能性がありこの問題のために。この種の問題がある人はいますか?あなたのクエリが結果があなたの説明を示唆しているファイルシステムにキャッシュされているようなものである場合

おかげ

+0

フラッシュの前後でV $ BHビューを問い合せて、オブジェクトがフラッシュされていることを確認してください。別のセッションクエリーがある場合、見つかったブロックと同じブロックが「スティッキー」であることがわかります。 「 WHERE o.data_object_id = bh.OBJD BH V $ BH、O DBA_OBJECTS FROM o.object_name、COUNT(*)number_of_blocksを選択して、COUNT BY o.owner!= 'SYS' GROUP BY o.object_Name ORDER( *); " – TenG

答えて

0

は、クエリは、全体的に、おそらく「ヘビーヒッター」ではありません。しかし、単独でテストしていて、データベース上のアクティビティがあまりない場合、SQLが実稼働環境で実行されると、パフォーマンスが低下する可能性があります。

2つのクエリのどちらのバージョンが優れているかを判断するには、いくつかのことがあります。実際には、本全体だけがこのトピックに書かれています。ただし、要約すると:

開始する前に、テーブルとインデックスの統計情報が最新であることを確認してください。

  • 物事のグランドスキームでSQLが実行される頻度を確認します。 1日に1回または2回実行され、実行に2秒かかる場合は、調整しようとしないでください。
  • 両方についてexplain planを実行し、推定コストとステップ数を確認してください。
  • オプティマイザ・ステップと実行統計の両方のトレースをオンにし、比較します。
関連する問題