平成22年度 春期 データベーススペシャリスト試験 午前II 問19
【問題19】
分散型データベースで結合演算を行うとき,通信負荷を最小化することができる手法はどれか。ここで,データベースは異なるコンピュータ上に格納されて,かつ結合演算を行う表の行数が,双方で大きく異ならないものとする。
【解説】
ア: 入れ子ループ法
誤り。入れ子ループ法は、一方のテーブルを内側ループとして固定し、外側ループで外部テーブルを繰り返し参照する方法ですが、通信負荷を最小化する手法としては効率的ではありません。特に分散データベースでデータが異なるコンピュータに分散されている場合、非効率的になります。
イ: インデックスジョイン法
誤り。インデックスジョイン法は、インデックスを使用して結合を行いますが、分散データベースではデータの配置に依存するため、通信負荷を最小化するという目的にはあまり向いていません。
ウ: セミジョイン法
正しい。セミジョイン法は、通信回数を削減するために有効です。片方のテーブルから、結合に必要なデータだけを送信し、もう一方のテーブルで結合を行います。これにより、データ転送量を最小化し、通信負荷が低減します。
エ: マージジョイン法
誤り。マージジョイン法は、事前にソートされたテーブルを結合する手法ですが、分散型データベースにおいては、ソートのために全てのデータを一箇所に集める必要があり、通信負荷が大きくなる可能性があります。
出典:平成22年度 春期 データベーススペシャリスト試験 午前II 問19