1. 初めにDBにおける処理はSQLによって記述しますが、データの取得するために具体的にどのような内部処理を行うかという点までは記述しません。 ここでいう内部処理とは「SQLの書き換え」「インデックスの使用」「結合アルゴリズムの選択」などがDBMSのオプティマイザによって選択されて実施されることを指します。 SQLのパフォーマンスを見るにあたっては上記の内部処理について正しく理解する必要があります。 本Blogでは、重要なアルゴリズムであるにもかかわらず、まとまった情報が少ないSQL実行時におけるブルームフィルタ(Bloom Filter)についてOracleをもとに紹介を行います。 Bloom Filterは結合処理を効率化するために、結合の前段階で利用される技術になります。 公式なドキュメントとしては以下になります。 Oracle Database SQLチューニング・ガイド 12cリ
![SQL実行時のブルームフィルタ(Bloom Filter)アルゴリズム | フューチャー技術ブログ](https://cdn-ak-scissors.b.st-hatena.com/image/square/e9f0b2bce8afc299048a5e8193c614bd84d5e2cb/height=288;version=1;width=512/https%3A%2F%2Ffuture-architect.github.io%2Fimages%2F20161102%2Fphoto_20161102_00.png)