|
In our standup last week, we discussed this ticket and said we want to add a Genny benchmark to test classic vs. SBE $lookup when:
- There is only a wildcard index on the foreign collection on the join key.
- The local collection can have a varying percentage of NULL values.
In the classic engine, we replan the foreign side on every local document, so we know if the local join key is NULL or not. If the local key is not NULL, then we can generate a foreign collection access plan using the wildcard index. But if the local key is NULL, then we cannot use the wildcard index scan because wildcard indexes do not store NULL values.
If we vary the % of null values in the local collections, we may see different performance numbers. Because the classic engine can use the wildcard indexes for some local documents but SBE cannot use wildcard indexes at all. We want to understand how the performance is like in this case and if there is a break-even point
|