Bloom Filter Is Not Working In Prod But Working In Dev
Last updated on MAY 15, 2018
Applies to:Oracle Database - Enterprise Edition - Version 22.214.171.124 and later
Information in this document applies to any platform.
About bloom filter:
A Bloom filter, named after its creator Burton Bloom, is a low-memory data structure that tests membership in a set.
A Bloom filter correctly indicates when an element is not in a set, but can incorrectly indicate when an element is in a set. Thus, false negatives are impossible but false positives are possible.
Purpose of Bloom Filters:
A Bloom filter tests one set of values to determine whether they are members another set.
For example, one set is (10,20,30,40) and the second set is (10,30,60,70). A Bloom filter can determine that 60 and 70 are guaranteed to be excluded from the first set, and that 10 and 30 are probably members. Bloom filters are especially useful when the amount of memory needed to store the filter is small relative to the amount of data in the data set, and when most data is expected to fail the membership test.
Oracle Database uses Bloom filters to various specific goals, including the following:
Reduce the amount of data transferred to slave processes in a parallel query, especially when the database discards most rows because they do not fulfill a join condition
Eliminate unneeded partitions when building a partition access list in a join, known as partition pruning
Test whether data exists in the server result cache, thereby avoiding a disk read
Filter members in Exadata cells, especially when joining a large fact table and small dimension tables in a star schema
Bloom filters can occur in both parallel and serial processing.
- Having performance issues on job with bloom filtering
- Our prod and dev have similar data quantity and tables/indexes are almost identical. But when executing the same query, Dev is much faster than Prod
- Both prod and dev are with same bloom filtering init setting:
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms