Right now, if you want to do an a=b AND c=d query for a specific row, the pre-pruning logic will look for the existence of both a=b and c=d, then perform a row scan to see if there are rows that satisfy both.
This obviously can do a lot of redundant row scanning if you have two frequently occurring pairs, but rarely intersecting.
I'm not sure if there's an efficient way to handle this that doesn't result in orders of magnitude increased memory usage (or more bloom filters that ultimately outweigh scan concurrency).
Right now, if you want to do an
a=b AND c=dquery for a specific row, the pre-pruning logic will look for the existence of botha=bandc=d, then perform a row scan to see if there are rows that satisfy both.This obviously can do a lot of redundant row scanning if you have two frequently occurring pairs, but rarely intersecting.
I'm not sure if there's an efficient way to handle this that doesn't result in orders of magnitude increased memory usage (or more bloom filters that ultimately outweigh scan concurrency).