|
I have reproduced the cache flooding problem with a test that has 513 predicates in the $match expression. Correct results are returned because different values for the arguments produce different PlanCacheKeyInfo::_key values as the constants get encoded into this. This in turn leads to different queryHash values, which cause the original cached plan not to be reused for a query of the same shape but different constants, and it also leads to caching each plan with different constants in addition to the original plan, which is the cache flooding problem I was worried about.
It is better not to cache a plan at all if its match expression could not be parameterized due to having more than 512 predicates.
Besides the performance gain from not flooding reusable plans out of the cache, this change will also gain some additional performance by avoiding construction of the key in the first place. E.g. the _key string, before hashing, for one of my test queries is very large (almost 16K in string form):
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
|
|