ホームページ >バックエンド開発 >PHPチュートリアル >ORACLE SQLパフォーマンス最適化シリーズ(1)_PHPチュートリアル
1. 適切な ORACLE オプティマイザーを選択します
ORACLE オプティマイザーには 3 つのタイプがあります:
a. RULE (ルールベース) b. COST (コストベース) c. デフォルトのオプティマイザーを設定するには、 init.ora ファイル内の OPTIMIZER_MODE パラメーターのさまざまな宣言 (RULE、COST、CHOOSE、ALL_ROWS、FIRST_ROWS など) によって、コストを使用するために、SQL ステートメント レベルまたはセッション レベルでオーバーライドすることもできます。ベースのオプティマイザー (CBO、コストベースのオプティマイザー) を使用する場合は、データベース内のオブジェクト統計の精度を高めるために、分析コマンドを頻繁に実行する必要があります。
データベースのオプティマイザー モードが選択 (CHOOSE) に設定されている場合、実際のオプティマイザーはモードは、分析コマンドが実行されているかどうかに関係します。テーブルが分析されている場合、オプティマイザー モードは自動的に CBO になります。それ以外の場合、データベースは RULE 形式のオプティマイザーを使用します。不必要なフルテーブルスキャンを回避するには、CHOOSE オプティマイザーの使用を避け、ルールベースまたはコストベースのオプティマイザーを直接使用する必要があります。
2. テーブルへのアクセス方法
ORACLE は、テーブルに記録する方法を 2 つ使用します。
a. フル テーブル スキャン
フル テーブル スキャンは、テーブル内の各レコードに順次アクセスすることです。
b. ROWID アクセス テーブルを使用できます。 ROWID ベースのアクセス方法は、テーブルへのアクセスの効率を向上させます。ROWID には、テーブルに記録される物理的な位置情報が含まれます。ORACLE は、通常、データを格納するためのインデックス (INDEX) を使用します。インデックスは ROWID に素早くアクセスする方法を提供するため、インデックス列に基づくクエリによりパフォーマンスが向上します。
www.bkjia.com