駆動表とは
駆動表は、一方の表が非常に小さく、もう一方の表が非常に大きい場合に、Oracle Analytics問合せエンジンがデータベース間結合を処理する方法を最適化します。
駆動表を指定すると、駆動表から選択される行数が結合先の表の行数よりはるかに少ない場合に問合せが最適化されます。
駆動表を指定すると、問合せ計画で表の使用によって問合せ処理を最適化できると判断された場合、Oracle Analytics問合せエンジンは駆動表を使用します。 小さな表(駆動表)がスキャンされ、パラメータ化された問合せが大きな表に発行されて一致する行が選択されます。 その後で、その他の表が、その他の駆動表を含めて、一緒に結合されます。
駆動表は内部結合とともに使用でき、駆動表が左外部結合の場合は外部結合に使用でき、右外部結合の場合は右表を使用できます。 駆動表は、完全外部結合には使用されません。
駆動表の設定を決定する際には、次の情報に注意してください:
-
駆動表が非常に小さい(1000行未満)場合に駆動表を指定します。
-
複数データベース結合が発生する場合にのみ駆動表を指定します。
-
駆動表から多数の行が選択されている場合、駆動表を指定するとパフォーマンスが大幅に低下する可能性があります。
MAX_QUERIES_PER_DRIVE_JOIN制限を超えた場合、問合せは終了します。
データベース機能表には、駆動表パフォーマンスを制御およびチューニングする2つのエントリがあります:
-
MAX_PARAMETERS_PER_DRIVE_JOINこれは、パフォーマンス・チューニング・パラメータです。 値が大きいほど、生成されるパラメータ化された問合せの数が少なくなります。 値が大きすぎると、バックエンド・データベース制限によりパラメータ化問合せが失敗します。 値を0 (ゼロ)に設定すると、駆動表結合がオフになります。
-
MAX_QUERIES_PER_DRIVE_JOINこれは、リソース集中型の駆動表結合を防ぐために使用します。 パラメータ化された問合せの数がその値を超えると、問合せは終了し、ユーザーにエラー・メッセージが返されます。