13 データ・アクセス・パスの最適化
データ集中型問合せで最適なパフォーマンスを実現するには、SQL文に対するマテリアライズド・ビューおよび索引が重要です。ただし、これらのオブジェクトの実装にはコストがかかります。これらのオブジェクトの作成およびメンテナンスには時間がかかります。また、多くの領域が必要になります。SQLアクセス・アドバイザを使用すると、特定のワークロードに対してマテリアライズド・ビューとビュー・ログ、索引、SQLプロファイルおよびパーティションが推奨され、問合せアクセス・パスを最適化できます。
マテリアライズド・ビューにより問合せの結果を別々のスキーマ・オブジェクトに格納することで表データにアクセスできます。記憶領域を占有せず、データが含まれない通常のビューとは異なり、マテリアライズド・ビューには1つ以上の実表またはビューの問合せの行が含まれます。マテリアライズド・ビュー・ログは、マスター表で定義されたマテリアライズド・ビューを増分的にリフレッシュするため、マスター表のデータに変更を記録するスキーマ・オブジェクトです。SQLアクセス・アドバイザにより、マテリアライズド・ビューを迅速にリフレッシュし、クエリー・リライト機能を使用するためには、マテリアライズド・ビューをどのように最適化すればよいかが推奨されます。
SQLアクセス・アドバイザの推奨事項にはビットマップ索引、ファンクション・ベース索引およびBツリー索引も含まれます。ビットマップ索引では、他の索引の方法と比較すると、多くのタイプの非定型問合せでレスポンス時間を削減し、記憶域要件が減少します。ファンクション索引では、1つ以上の列を含むファンクションや式の値が計算され、索引に格納されます。Bツリー索引は、通常、一意キーまたはほぼ一意なキーの索引付けに使用されます。
SQLアクセス・アドバイザの使用には、次のタスクが含まれます。
参照:
-
SQLチューニング・アドバイザについては、「SQL文のチューニング」を参照してください。
-
マテリアライズド・ビューについて学習するには、『Oracle Database概要』を参照してください。
-
索引について学習するには、『Oracle Database概要』を参照してください。