Task #1619
closedFiltering of entities generate too many selects
100%
Description
Example:
I have identity with 50 identity-account rows. If filter by identityId is executed, then 1 select for identity-accounts and 50 for every items are executed.
Updated by Vít Švanda over 5 years ago
- Assignee changed from Vít Švanda to Radek Tomiška
Updated by Vít Švanda over 5 years ago
- Target version changed from Quartz (9.6.0) to Rhyolite (9.7.0)
Updated by Radek Tomiška over 5 years ago
- Status changed from New to In Progress
Updated by Radek Tomiška over 5 years ago
- Status changed from In Progress to Needs feedback
- Assignee changed from Radek Tomiška to Vít Švanda
- % Done changed from 0 to 50
I implemented extended spring repository and added fetch strategy to find queries:
https://github.com/bcvsolutions/CzechIdMng/commit/e8273fb38561d95cc6b9ef887d7bcf29cfc5191c
For the direct relation from the found entity are the selects reduced.
Could you do a feedback o this part, please?
TODO: Still remains selects for sub related entities.
Updated by Vít Švanda over 5 years ago
- Target version changed from Rhyolite (9.7.0) to Quartz (9.6.0)
Updated by Ondřej Kopr over 5 years ago
- Assignee changed from Vít Švanda to Radek Tomiška
- % Done changed from 50 to 100
I checked same place as first time: Find identity account AbstractProvisioningExecutor#doProvisioning row 206. Identity with 13 identity account:
Before your changes: 38 queries. Time: 290 ms
After your changes: 18 queries. Time: 15 ms
The speedup this queries is about ~19x!!!
This new feature works for all subqueries. Thank you. Good job!
Good job!
Updated by Ondřej Kopr over 5 years ago
- Status changed from Needs feedback to Resolved
Updated by Radek Tomiška over 5 years ago
- Status changed from Resolved to Closed