>>前編 ハッシュ利用で比較を減らす 後編ではまず,オプティマイザが選択する最短経路を紹介する。 複数のテーブルを共通のキーを用いて結合する「ジョイン」はいくつかの方式がある。その一つであるハッシュ・ジョインは,ハッシュ関数を使って,一つのテーブルのキーからハッシュ値を計算する(図4)。さらに,ハッシュ値と該当するデータで構成する「ハッシュ・テーブル」を作成する。同様に二つ目のテーブルからハッシュ値を計算し,その値を基に検索するハッシュ・テーブルのレコードを特定する。ハッシュ値を計算するだけで比較対象のデータが絞り込めるので,ほかのジョイン方式よりも高速になる場合がある。ただし,「各テーブルを展開できるだけのメモリー容量が必要になる。メモリーが足りないと逆に遅くなる」(伊藤忠テクノソリューションズ プラットフォーム技術部 部長代行 宮田武氏)といった注意点がある。 図4●ハッシュ・ジョイン