Yes, agreed the IS IN replaces the merge more performantly when you’re using literal primitive types as your search predicates. I.e.
Do A Search For FOO constraint X = 5 : merged with Do A Search For FOO constraint X = 3
is much better performantly as Do A Search For FOO constraint X is in 3:as list :plus item 5.
However, when I wrote this I wasn’t thinking primitives, I was thinking actually of mixed-type sub queries (such as IS IN X’sY merged with B’s Y). Or
{FK or 1:1 reflective column (USER, reflective_column, etc)} is in (Do A search for same column
constraint FOO is in (Do A search For FOO constraint X IS IN [Do A Search FOR BAR constraint (something)]'s X :merged with Do A Search For FOO constraint X IS IN [Do A Search FOR MOO constraint (something)]'s X])
)
I was gonna say, probably the best bet is to use set theory and invert your searches if the merge list would match up to a significant number (>50%) of your driver table.
IS IN [Do A Search For X constraint V > C :merged with Do A Search For X constraint V is empty]
would be better expressed as ISN’T IN Do A Search For X constraint V < C. [
De Morgan’s law