Coherence GreaterFilter Performance Using Index, inverse operation on small sized passed in set of keys like in the InFilter
(Doc ID 2696818.1)
Last updated on MAY 05, 2021
Applies to:Oracle Coherence - Version 18.104.22.168.0 and later
Information in this document applies to any platform.
Customer has the following Queries on internal implementation of Index functionality :
- When using applyIndex function of GreaterFilter (passing the keyset of the data to be operated on using setKeys) does the Filter still construct the list of all entries satisfying the condition and then narrow to the list of the pertinent data, resulting in performance hit.
- As an alternative to the above when using InvocableMapHelper.evaluateEntry the performance obtained is even worse than applyIndex for a large (10K entries) dataset. Is this due to the fact that the entry Customer uses is by calling BackingMapContext.getBackingMapEntry.
Customer has tried to use Ordered Index along with GreaterFilter to do filtering against Index, the result is not that satisfying, espeially for result set which will be small, customer thinks the reason may be Index is based on whole member, and GreaterFilter still need to go through all the entries in the Index to construct list to filter against. Ex: Customer only needs to know in this 5 keys (setKeys passed into GreaterFilter applyIndex function) anything satisfy the condition, but the filter still need to construct a collection for all entries satisfied the condition of this member, that could be 5M enties, and do the filtering at the end.
To view full details, sign in with your My Oracle Support account.
Don't have a My Oracle Support account? Click to get started!
In this Document