>>前編 ハッシュ利用で比較を減らす 後編ではまず,オプティマイザが選択する最短経路を紹介する。 複数のテーブルを共通のキーを用いて結合する「ジョイン」はいくつかの方式がある。その一つであるハッシュ・ジョインは,ハッシュ関数を使って,一つのテーブルのキーからハッシュ値を計算する(図4)。さらに,ハッシュ値と該当するデータで構成する「ハッシュ・テーブル」を作成する。同様に二つ目のテーブルからハッシュ値を計算し,その値を基に検索するハッシュ・テーブルのレコードを特定する。ハッシュ値を計算するだけで比較対象のデータが絞り込めるので,ほかのジョイン方式よりも高速になる場合がある。ただし,「各テーブルを展開できるだけのメモリー容量が必要になる。メモリーが足りないと逆に遅くなる」(伊藤忠テクノソリューションズ プラットフォーム技術部 部長代行 宮田武氏)といった注意点がある。 図4●ハッシュ・ジョイン
![最短かつ最速にアクセスする「DB高速化技術」(後編)](https://cdn-ak-scissors.b.st-hatena.com/image/square/bed39b5962a5d552c95b6d796db8f55e72d32943/height=288;version=1;width=512/https%3A%2F%2Fxtech.nikkei.com%2Fimages%2Fn%2Fxtech%2F2020%2Fogp_nikkeixtech_hexagon.jpg%3F20220512)