Oracle12cの処理速度についてです。
既存のアプリケーションをそのまま使用し、Oracle11gや10gと比較した場合に、処理にもよりますが、5~10倍近く遅くなるようです。
比較条件として、どちらもWindows上で初期値のままインストールした場合(SGAや初期値などおまかせ)です。
処理中のメモリ上のキャッシュの利用や、統計情報の蓄積などでは左右するとは思いますが、サービスの起動直後(および統計情報のクリア)などの条件を合わせるとクエリの応答時間が上記のように5~10倍位かかってしまいます。
一度請負元経由でOracleに問い合わせた時の回答は以下の通りです。
・Parse Time Elapsedが長い場合の対策
Dynamic Samplingをオフ
optimizer_dynamic_sampling=0
Adaptive系(実行時/複数回実行時の最適化)の機能をオフ
optimizer_adaptive_features=false
11gでの初期値では約20秒かかった(12cでは100秒かかる)
optimizer_dynamic_sampling=2
optimizer_adaptive_features=true
から回答を踏まえ
optimizer_dynamic_sampling=0
optimizer_adaptive_features=false
にした場合は、1割程度遅くなった(100秒→110秒)
他にも色々試したのですが、結局
optimizer_features_enable
を 12.1.0.1→11.2.0.1 にするしか手がなさそうでした。
世間にも同様の症例(?)があるようですが、12cで11g並みのレスポンスにするための、手法はご存じないでしょうか。
根本的に、SGAをこうしておきべきだとか、PDBはこうしておくべきだとか、12cはパラメータはこうしておきべきだとか、クエリはこう変えるべきだとか、ヒントをこう指定しておかないと、だとか。突っ込んだ内容や手法でも結構ですのでお願いします。
クリップはいただけてるのですが、なかなか回答がないもので、同様に、どの位遅くなったとか、とりあえずこう回避してるとか、11gに固執せざるを得ないとか、そういう談義でも結構です。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/04/09 04:57