タイプ: object 1つのSQL文の実行計画について説明します。 ソースの表示 count(optional): integer hasMore(optional): boolean items(optional): array items limit(optional): integer links(optional): array links offset(optional): integer Previous...
まず、DBのチューニングでは、SQL文の処理時間である「CPU時間+アイドルではない待機イベント」を減らすという発想をします。CPU時間が占める割合が大きい場合は、実行計画を変えて処理を軽くしない限り、小手先のチューニングでは対処できないでしょう。設計レベルの問題かもしれません。
レポートを取得できるSQLの一覧はV$SQL_MONITORビューで確認できます。 ■実行計画の管理 統計情報の保留を使うことで、新たに取得した統計情報を即座に反映せずに、事前チェックしてからその統計情報を採用するかどうかを判断できました。同様のことを実行計画レベルで行えるのがSQL計画管理です。た...
理由: 自動統計収集は、オプティマイザによる正確な実行計画の生成を可能にし、またパフォーマンスの問題を特定および修正する場合に必要です。STATISTICS_LEVELは、デフォルトでTYPICALに設定されます。STATISTICS_LEVEL初期化パラメータをBASICに設定すると、Oracleデータベースの機能に必要な多くの重要な...
https://docs.oracle.com/cd/E57425_01/121/TGSQL/tgsql_interp.htm EXPLAN コマンドで実行計画を取得する方法も紹介します。細かなポイントですが、EXPLAIN でのみ表示される項目もあります。 EXPLAIN PLAN FOR SELECT COUNT(*) FROM EXAMPLES WHERE 10000 <= SCORE AND SCORE <= 20000 ORDER BY SC...
分かりやすいように、CREATE INDEX文とMOVE PARTITION文の例を実行してみます。CREATE INDEX文を実行すると、実行計画に影響する可能性があるので、共有カーソルの無効化を行う必要があります。そのため、以下のように'DEFERRED INVALIDATION'を指定しないと、共有カーソルは無効化されています(V$SQL....
また、SQLで式や関数を使用すると、オプティマイザ統計の式統計(拡張統計)が自動的に作成されないことにより、効果的な実行計画を作成できない場合が多いです。Oracle12cR2からの自動IM式を使用することで、頻繁に使用される式を自動的に非表示の仮想列にできるので、式統計を手動で作成する必要が...
③ 必要情報を入力し、[Creaate]を実行 作成は数分で完了します。 ■ Database作成 Oracle Databaseサーバー作成後、buildsingle.shでDatabaseを作成します buildsingle.shの引数は次のものとなります 引数デフォルト値概要 SIDNAMEorclSID名 ...
これらの情報取得には、DBA_OBJECTS、DBA_CONSTRAINTS、V$DATAFILEなどのビューを活用できます。 統計情報 統計情報の取得漏れや、統計情報が劣化して(古くなって)いるオブジェクトを見つけて対処することで、不適切な情報を基に実行計画が生成されることを防止します。チェック対象としては、テーブル...
EXPLAIN PLANやAUTOTRACEではバインドピークが行なわれないため、実際とは異なる実行計画を出力することがあります。バインド変数を使用したSQLの実行計画を確認するには、SQL TraceやV$SQL_PLANを使用してください。バインドピークがOFFの場合、10g R1では選択率として次の値が使用されます。Copy...