ElementsService optimization - switch to where-in statement when querying for elements with array of IDs #2937
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Hi,
I found a performance bottleneck in a project that includes quite a complicated document search page...
When querying for entries by using a large set of IDs, ~4000 or so, (eg.
$criteria->id = [large array]
) the default behaviour creates a group of "OR" statements i.e.This query was taking in the area of 2500ms to return a result.
When I experimented and switched this to a IN statement i.e.
... then the query time is dramatically improved to around 370ms. The total load is taken down from 10s to 2.5s.
For me this is a must keep update in the project I'm working on and I'd be interested to see if it could be included in the main project.