今号では、 Oracle Database 12c の新機能である適応計画と自動再最適化をご紹介します。ぜひご一読ください。 統計情報と実行計画.

今号では、 Oracle Database 12c の新機能である適応計画と自動再最適化をご紹介します。ぜひご一読ください。, Oracle Database では、SQL の実行計画を決定する際、事前に採取した統計情報を参照して処理の対象となる表のデータ傾向を把握します。この傾向に基づいて最も処理コストが低くなると予測されるアクセスパス、結合順序、結合方式などを決定します。, しかしながら、統計情報はリアルタイムで更新されるものではなく、頻繁に大量の更新が行われる表では統計情報と実際の表のデータ傾向に大きな乖離が生じる場合があります。このような状況では、Oracle Database が処理対象となる表の状況を「勘違い」してSQL のコスト計算を行うため、Oracle Database が見積もった予測よりも遥かに大きな処理コストが必要な実行計画を採用し、大きなパフォーマンス劣化を引き起こす恐れがあります。, ※弊社サポートでは実際のデータ状況と乖離した統計情報によるパフォーマンスの劣化について、一定数のお問い合わせをお客様から頂いています。, Oracle Database 12c では、オプティマイザが SQL 実行時に実行計画の調整を行い、より的確な統計情報を使用・検出するための一連の機能として、適応問い合わせ最適化(Adaptive Query Optimization) が追加されています。適応計画と自動再最適化は、前述の適応問い合わせ最適化に含まれる機能で、既存の統計情報の非リアルタイム性に対して、Oracle Database 内部から対応することを目的としています。, 適応計画とは、問合わせ実行時に収集した統計に基き、最終的な実行計画をより適切なものに切り替えることのできる機能です。具体的には、以下のようなシーケンスで必要に応じた実行計画の切り替えを行っています。, この仕組みにより、統計情報と実際のデータ状況に乖離が発生し、デフォルトプランが不適切なものになっていると判断できる場合には、より適切な実行計画で SQL を実行することが可能となります。, ただし、適応計画による実行計画の切り替えは、デフォルトプランの各ステップの内容を機械的に変更するもので、コストの再評価などは行わないため、ステップの実行順序やステップ間の構造を変更することはできません。このため、変更可能な範囲は結合方法とパラレルの分散方法に限定されます。, 例 : PX SEND RANDOM を PX SEND HASH に変更      NESTED LOOPS JOIN を HASH JOIN に変更, 適応計画機能の有効・無効は初期化パラメータ "OPTIMIZER_ADAPTIVE_REPORTING_ONLY"で制御されます。デフォルトは有効 (FALSE) で、ALTER SYSTEM によるデータベース全体での有効化・無効化に加え、ALTER SESSION によるセッション単位での制御も可能です。なお、本パラメータを "TRUE" に設定した場合、適応計画機能は無効となり、実行計画の動的な切り替えは行われませんが、適応計画に必要な統計の収集は継続して行われます。, 自動再最適化とは、適応計画と対になる機能で、SQL の実行時に収集された統計情報が既存のものとは大きく異なる場合、次に同じ SQL が実行された際には以前のものではなく、新しく収集された統計情報を使用して実行計画を作成する機能です。具体的には、以下のようなシーケンスで採用する統計情報を変更しています。, 実行計画の評価段階で新しい統計情報を使用できるため、適応計画では対応できなかった結合順序の変更や実行計画全体の構造の最適化にも対応できることが特徴です。, 前述の通り、自動再最適化は適応計画と対になる機能のため、適応計画機能から独立して使用することはできません。このため、機能の有効・無効は、前述の適応計画機能と同様に初期化パラメータ "OPTIMIZER_ADAPTIVE_REPORTING_ONLY" で制御されます。本パラメータを "TRUE" に設定した場合、機能自体は無効となりますが、本機能に必要な統計の収集は継続して行われる点も適応計画の場合と同様です。, なお、本機能は適応計画と異なり、2 回以上の繰り返し実行で効果を発揮する機能であることも含め、以下のような点にご留意ください。, 適応計画と自動再最適化は統計情報の非リアルタイム性を補うことのできる機能で、統計情報と実際のデータ傾向の乖離によるパフォーマンスへの影響をある程度抑えることができるのがメリットです。一方、実行計画を自動的に変更するという性質上、使用にあたっては性能面での影響を十分に考慮する必要があります。, 最適な実行計画を評価するにあたり、既存の統計では不十分であるような場合に効果を発揮する機能といえます。機能やお使いのシステムの特性を踏まえたうえで使用をご検討ください。, Copyright © 2020 NTT DATA INTELLILINK Corporation, ビッグデータコラム Column on Big Data Analytics and Platform, 取得された情報が既存の統計情報と異なっている場合、オプティマイザが定めた閾値を超えた場合には実行計画を切り替える, 必要な情報をカーソルに保持するため、頻繁にカーソルがエイジアウトする環境や、共有プールのキャッシュヒット率が低い環境では効果を期待しづらい, SQL 実行時のデータ傾向が都度異なるような状況では、直前の結果に基づいた実行計画が当初のものより不適切なものとなるリスクがある. 4.各オブジェクトの統計情報を確認したいのですが、統計情報はどのように確認できますか? sysユーザーが所有するディクショナリ・ビューから確認することができます。 以下の統計情報が、下記のビューに格納されています。 表の統計情報 → dba_tables Oracleの統計情報 の ... 買取・販売データ分析の自動化で販路拡大、属人化防止、業務効率化 2020年4月14日 在宅、リモート、テレワークの今求められる_宅配・ネット買取支援システム 2018年11月13日 WinAPIの32bitと64bit 2018年8月21日 お客さまを不安にさせる"http"サイト 2018年7月30日 … 埼玉県は21日、県内に住む6歳以下の未就学の男の子が新型コロナウイルスに感染したことが確認されたと発表され話題になっていますね!そして父親も感染しているとのこと。 埼玉県のどの市なのか?など詳しいことは発表されなかったので心配の方も... 静岡県焼津市選出の諸田洋之県議(無所属)がインターネットオークションにマスクを大量に出品していたことが6日、分かり話題になっていますね。 これだけコロナで苦しんでいたり不安に思っている人がいる中で、こういったことを市民を守るべき立場... 千葉県によりますと感染者が相次いで確認された市川市のスポーツクラブを利用していた80代の女性が新たに新型コロナウイルスに感染していることがわかったということで話題になっていますね。 そこで今回はコロナ千葉市川市80代女性のスポーツ... 小池百合子都知事に学歴詐称疑惑が持ち上がっているようですね。これまでも度々小池都知事の学歴詐称疑惑は噂されていたようですが、今回は元同居人の早川玲子さんという方が証言したとのことで文春で報じられています。そこで今回は、 ・小池百合... 自粛要請に従わない大阪のパチンコ店の店名を大阪府が公表しましたね! にも関わらず翌日の午前中から大勢の客が集まったことで「逆効果」だと言われてしまっているようです・・。 まあ「この店やってるよ!」と宣伝しているようなものですか... 大阪府は、先月、新型コロナウイルスへの感染が判明したものの、症状が回復し、陰性が確認されていた大阪市の40代の女性が、再び症状が出て陽性になったと発表して話題となっています。 そこで今回はコロナ再発した大阪の女性ツアーガイド退院後の... えびすじゃっぷの挨拶ランキング!Tinderで驚異の返信率。りかことの関係も調査!, 【解散】レペゼン地球DJ社長の次の夢って何?海外進出?「感動」「泣いた」の声が多数, 伊藤健太郎のひき逃げ逮捕でとんかつDJアゲ太郎は公開中止か延期?CM違約金がやばい?, 【過激画像】宮崎美子のカップ数は?水着写真集カレンダーが鬼滅の刃より売れたのはなぜ?スタイルがやばい, 【顔画像】中西伶郎(なかにしれお)はイケメン?かっこよくない?福原綾香との馴れ初めも, 「香水」の瑛人は誰?読み方は?顔画像や歌詞の意味も考察!TikTokでバズりまくり. ステム再構築で失敗しない方法, セールスフォースお助け隊ブログ, 【Oracle】統計情報を手動で更新する. このチュート … 現在の統計情報の保存場所を示す表の識別子: ... 変化しやすいオブジェクトの統計をNULLに設定した場合は、Oracle Databaseでは動的統計を使用して最適化中に必要な統計が動的に収集されます。 OPTIMIZER_DYNAMIC_SAMPLING初期化パラメータでこの機能を制御します。 前提条件. 図10:EXPLAINの使用例4: こうした判断の材料となるのがシステムカタログのpg_statsにある統計情報です(注3)。統計情報は列ごとに管理されており、先ほどの例では、図11のようにすればaid列に関する統計情報を参照できます。 こんにちは、kairowaです。今回は少し専門的な内容を書くので、興味のある人だけ見てください。ORACLE(オラクル)の統計情報という分野について、統計情報とは何なのか?取得する意味等についてまとめてみました!, つまり、統計情報とは使用しているサーバやデータベースの特性を数値で表したものといえます。それでは、なぜ別名がオプティマイザ統計情報なのか。まず統計情報は、OracleがSQLを解析して最適な実行計画を作成するために利用する情報です。実行計画を作成する機能のことをCBO(コスト・ベース・オプティマイザ)といい、このオプティマイザ向けの統計的な情報だから、オプティマイザ統計情報と呼ばれるのです。, 更に具体的に、統計情報の実体は何かというと、データベースの各テーブル・各インデックスカラムの傾向を表したデータディクショナリデータです。, 例えばユーザテーブルに100万件のデータが入っていたら、テーブル統計情報として100万件のレコードがあるということが記録されます。でも、100万件と、1000件では最適なアクセスパスは全く異なりますよね。100万件を全表走査などしようものなら、SQLは100秒は返ってこない。しかし1000行なら、インデックスアクセスしてる分だけ無駄もあるかもしれない・・ということです。, 注意したいのは、実際のデータベースの情報をもとに実行計画を作成するのではなく、統計情報をもとに実行計画を作成する、という点。, つまり、テーブルに対してデータの登録・更新・削除が行われたのに、統計情報が最新化されていないと、オプティマイザは古い情報をもとに実行計画を作ろうとします。, よって、ある時点では最適な実行計画が選ばれSQLのパフォーマンスも問題はない場合でも、データの登録・更新・削除が頻繁に行われるにつれ、パフォーマンスが劣化していく、といった事あよくあるのです。, これを回避するには、テーブルのデータに更新が入ったら併せて統計情報も最新化する必要があるということです。, 統計情報の一番大きな目的は最適な実行計画を立てられる可能性を高めるためです。 逆にいえば発行する全てのSQLがヒント等により最適な実行計画で固定されていれば統計情報を取得する必要性は大幅に低下します 。, また、実行計画が決まってしまえばその実行計画の通りに処理されるだけなので実行計画が決まった後の処理時間には統計情報は影響しません。, ・最適な実行計画が選択されるとは限らない実態に即した正確な統計情報が収集されていたとしてもORACLEが最も早い実行計画を選択するとは限りません。逆に統計情報がないほうが早い実行計画が選択されてしまう可能性さえあります。特定のSQLのみ遅くなる場合は該当SQLに対して実行計画の固定を検討し、 個々のSQLに対する対処が困難であれば実行計画の選定に影響するパラメータの変更等を検討、テストします。・統計情報を収集しなおすと実行計画が変わる可能性がある実行計画はパフォーマンスに影響する非常に大きな要因であり不適切な実行計画に変わると今まで1分で終わっていたクエリが1時間かかるようになるといった事象が発生することも珍しくありません。 上述の通り統計情報を最新にしたとしてもパフォーマンスがよい実行計画が選択されるかはわからないため、本番運用中に統計の自動収集ジョブを有効にするなどで統計情報が常に変化する状態にしておくことはパフォーマンス悪化の可能性というリスクが常に発生していることを認識しておく必要があります。 本番運用開始前の段階で統計情報を定期的に収集すべき表とすべきでない表を切り分けし、基本的には一部を除き統計情報は良好なパフォーマンスが得られている状態でロックしておいたほうがよいでしょう。・システム統計情報を取得すると開発環境と本番環境で実行計画が変わる可能性が高くなるシステム統計情報を取得することでサーバのI/O性能等を考慮した実行計画が立てられることになり、性能が大きく異なる開発環境等と異なる実行計画が選択される可能性が高くなります。・統計情報のサンプリング率は100%でなくともよい統計情報のサンプリング率は表が大きい場合は100%のデータをサンプリングしなくともほぼ正確な統計となります。, 次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。, 都内在住のサラリーマン。 気になることをなるべく人とは違う切り口で綴ります。好きなことはMCバトルと食べログチェックです。よろしくお願いします。. ORACLE統計情報とは、以下の4つの統計から構成されます。 表に対する統計 表のサイズ、行数、1行当たり平均サイズ等 表内の列に対する統計 列データの種類数、データ分布(ヒストグラム)等 索引に対する統計 索引のサイズ、階層数、クラスタ化係数等 システムに対する統計(9i~) サーバのI/OやCPUの処理能力等 つまり、統計情報とは使用しているサーバやデータベースの特性を数値で表したものといえます。 それでは、なぜ別名 …

.

Sr400 ミラー 逆ネジ 4, Alc 解体 単価 5, ゆい 韓国 あいのり 11, シャボン玉 液 泥汚れ 5, カポ なし 洋楽 4, Aquos リモコン Dvd 切り替え 11, Mp4 編集 Aviutl 16, 単管パイプ カットサービス コメリ 24, 少年野球 辞めたい 母 4, Windows10 マイク音量 勝手に下がる 5, 辞退 欠席 違い 15, Youtube 21:9 配信 4, ほん怖 2019 動画 17, 心不全 ガイドライン 2020 30, トッケビ 幽霊 冷蔵庫 7, オール電化 光熱 費 東北電力 11, ポケ 森 キャラ ランク 5, 猫 リンパ腫 抗がん剤 12, Apex アーティファクト 完成 23, 積立nisa やめた ほうが いい 7, Freetel 雅 カスタムrom 9, Nec 電話機 Dt400 留守電設定 4, Nars コンシーラー シミ 5, 826aska エレクトーン 価格 5, Omiai Facebook 友達数 8, Aviutl Mp4 読み込み 4, 朝顔 肥料 100均 20, 35 歳 ファッション通販 5, Fit Together 意味 5, カーナビ サービスが情報受信を求め てい ます 15, 和歌山大学 勉強 時間 10, Ff14 アレキサンダー 天道 ソロ 7, 大林宣彦 ふたり 配信 11, ニューエラ オーダーメイド 大阪 9, Ps4 ヒント 非表示 28, Oracle Date 日付のみ 5, 交通違反 罰金 支払い場所 24, たか やん 永遠 自 7, 車 革シート 臭い取り 6, Select Top 逆 7, 黒スキニー ダメージ Gu 16, とび 森 村 で 素潜り 12, 英語 授業 ゲーム 中学 5, Atom Markdown Pdf 数式 4, Kara 少女時代 仲 4, 髭男 オルゴール Cd 5, Crest 3d White 販売店 6, Spec 再放送 Mbs 18, オーラ コスト 軽減 6, カーナビ Hdmi 認識しない 6, アイスボーン Mod 装飾品 5, 質量 公差 Jis 19, 30代男性 ライン 頻度 6, 歯間ブラシ 収納 100均 4, 倉庫 ロケーション管理 エクセル 4, スチール 溶接 半自動 16, Hiroki Hasegawa Ganapati 5, 富士通 夏モデル 2020 5, Ark 餌箱 餌 7, 86 ミッション 載せ 替え 費用 4,