ブルームフィルタ

(8.0.28)

調べた限り、サポートしていない模様

(19c)

https://www.ex-em.co.jp/blog/oraclegijutsujoho12/

HJとMJでサポートされている
前提条件複数あり
結合前に件数をあらかじめ減らすことで結合負荷を減少させる


select * from V$SQL_JOIN_FILTER;

V$SQL_JOIN_FILTERは、結合フィルタをパラレル・カーソルに使用した場合の各特性に関するパフォーマンス情報を示します。

 

(14)
https://www.postgresql.jp/document/13/html/bloom.html

bloomは、ブルームフィルターによるインデックスのアクセスメソッドを提供します。


create extension bloom;
\dx


drop table tab1;

create table tab1(col1,col2,col3,col4,col5,col6)
 as  select
     (random() * 1000000)::int,
     (random() * 1000000)::int,
     (random() * 1000000)::int,
     (random() * 1000000)::int,
     (random() * 1000000)::int,
     (random() * 1000000)::int
   from generate_series(1,10000000);

analyze tab1;

explain analyze select * from tab1 where col2 = 123 and col5 = 456;


create index ind1 on tab1 using bloom(col1,col2,col3,col4,col5,col6);

/*+ IndexScan(tab1 ind1) */
explain analyze select * from tab1 where col2 = 123 and col5 = 456;

 

 

(2019)
https://sqlperformance.com/2019/08/sql-performance/batch-mode-bitmaps-in-sql-server

batch mode hash join のビットマップ(Complex Bitmaps)で使用される場合がある