セミジョインとは?セミジョイン
セミジョインとは、分散データベースで別サイトにある表どうしを結合するとき、片方から結合列の値だけを相手サイトへ送り、その値に一致する行だけを絞り込んで返送させる手法。結合の意味を変えるものではなく、ネットワークを流れるデータ量を減らすための処理順の工夫にあたる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
集中型のデータベースでは処理費用をディスクの入出力回数で数えるが、サイトをまたぐ問合せでは通信量が全体の時間を支配し、回線が律速になる。結合の判定に本当に必要なのは結合列の値だけで、他の列は該当した行の分しか要らない——この非対称性に着目し、先に値だけを渡して相手側で絞ってもらうことで、無関係な行の転送をまるごと省く。分散環境では最適化の評価軸そのものが変わる、という点がこの手法の背景にある。
具体例
札幌の会員表100万件と東京の当日予約表500件を結合する場面で、東京側から会員番号500件だけを送り、札幌側で該当する会員行だけを返してもらう。会員表を丸ごと送る場合と比べて転送量は数千分の一で済む。
試験での引っ掛け
減らせるのは転送量であって、両サイトの処理量が必ず減るわけではない。絞り込みがほとんど効かない(相手表の大半の行が該当する)場合は、送った値の分だけ通信が増えて丸ごと転送より不利になることさえある。送るのは結合列の値だけで、表全体でも該当行全体でもない点も押さえておく。
関連用語
出た過去問
出典:平成31年度 春期 データベーススペシャリスト試験 午前Ⅱ 問17(IPA)
分散型データベースで結合演算を行うとき、通信負荷を最も小さくすることができる手法はどれか。ここで、データベースは異なるコンピュータ上に格納されて、かつ結合演算を…
正解:セミジョイン法
要点:セミジョインは結合列だけ送って転送量を減らす分散結合手法
セミジョイン法は、まず一方のサイトから結合に必要な列の値だけを相手サイトへ送り、相手側で結合に関係する行だけに絞り込んでから送り返す方式である。無関係な行や列を送らずに済むため、サイト間で転送するデータ量、すなわち通信負荷を小さくできる。
出典:令和2年度 10月試験 データベーススペシャリスト試験 午前Ⅱ 問18(IPA)
分散型DBMSにおいて、二つのデータベースサイトの表で結合を行う場合、どちらか一方の表をもう一方のデータベースサイトに送る必要がある。その際、表の結合に必要な列…
正解:セミジョイン法
要点:セミジョインは結合列値だけ送って転送量を減らす
セミジョイン法は、結合に使う列の値だけを相手サイトへ送り、そこで結合できる行を絞り込んでから元のサイトへ返し、最終的な結合を行う方式である。表全体を転送しないので、サイト間の通信量を大きく削減できる。よってイが該当する。
出典・参考
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。