Details
-
Type:
Sub-task
-
Status:
Resolved
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: 2.0-ALPHA2
-
Fix Version/s: 2.1
-
Component/s: None
-
Security Level: All
-
Labels:None
Description
During hydration when an association is encountered that is configured EAGER this entity is directly loaded through a separate SQL statement. This is inefficient for single-valued associations as it leads to the n+1 queries problem. This should be improved by somehow collecting all entities that need to be eagerly fetched and loading them in a single statement or in batches.
Activity
Roman S. Borschel
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Priority | Major [ 3 ] | Minor [ 4 ] |
Roman S. Borschel
made changes -
| Fix Version/s | 2.x [ 10090 ] | |
| Fix Version/s | 2.0 [ 10021 ] |
Benjamin Eberlei
made changes -
| Parent | DDC-952 [ 12257 ] | |
| Issue Type | Improvement [ 4 ] | Sub-task [ 5 ] |
Benjamin Eberlei
made changes -
| Assignee | Roman S. Borschel [ romanb ] | Benjamin Eberlei [ beberlei ] |
Benjamin Eberlei
made changes -
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Fix Version/s | 2.1 [ 10022 ] | |
| Fix Version/s | 2.x [ 10090 ] | |
| Resolution | Fixed [ 1 ] |
Benjamin Eberlei
made changes -
| Workflow | jira [ 10197 ] | jira-feedback [ 14123 ] |
Benjamin Eberlei
made changes -
| Workflow | jira-feedback [ 14123 ] | jira-feedback2 [ 15987 ] |
Benjamin Eberlei
made changes -
| Workflow | jira-feedback2 [ 15987 ] | jira-feedback3 [ 18240 ] |
This list may be incomplete, as errors occurred whilst retrieving source from linked applications:
- Request to http://www.doctrine-project.org/fisheye/ failed: Error in remote call to 'FishEye 0 (http://www.doctrine-project.org/fisheye/)' (http://www.doctrine-project.org/fisheye) [AbstractRestCommand{path='/rest-service-fe/search-v1/crossRepositoryQuery', params={query=DDC-53, expand=changesets[-21:-1].revisions[0:29],reviews}, methodType=GET}] : Received status code 503 (Service Temporarily Unavailable)
Update: This affects inverse sides of a one-one association since these can never be lazy as well as one-one owning sides that are configured EAGER.
Probably batching of collection loads is also somehow possible but all this needs quite some design and planning before implementation.