U4-5427 - Repository level performance enhancements - GetAll, GetByQuery removal of n+1 queries

Created by Shannon Deminick 01 Sep 2014, 00:49:44 Updated by Shannon Deminick 20 Aug 2015, 08:04:31

Is duplicated by: U4-5759

Relates to: U4-5469

Relates to: U4-5618

Relates to: U4-6994

Relates to: U4-3892

Relates to: U4-5055

Relates to: U4-5425

Subtask of: U4-5411

Many of the GetAll and GetByQuery methods perform n+1 queries, this was originally done due to lack of time to get the new service api's released and also to ensure things are cached correctly. There are much better ways to achieve this however that will be vastly better for performance.

Comments

Shannon Deminick 01 Sep 2014, 00:50:07

Changes can be found in branch: 7.1.5-perf


Shannon Deminick 01 Sep 2014, 06:23:37

--TODO: ContentRepository.PerformGetByQuery-- --TODO: ContentRepository.PerformGetAll--

--TODO: MediaRepository.PerformGetByQuery-- --TODO: MediaRepository.PerformGetAll--

--TODO: ContentTypeRepository.PerformGetAll-- --TODO: ContentTypeRepository.PerformGetByQuery--

--TODO: MediaTypeRepository.PerformGetAll-- --TODO: MediaTypeRepository.PerformGetByQuery--


Shannon Deminick 01 Sep 2014, 07:14:25

--TODO: EntityRepository has notes to fix n+1 queries--


Shannon Deminick 01 Sep 2014, 07:29:08

--TODO: TagsRepository has a real bad n+1 query, needs fixing ASAP. TONS of queries being executed.--


Shannon Deminick 01 Sep 2014, 08:01:51

--TODO: GetContentForRelease has bad n+1 queries, when the scheduled publish is running it executes quite a lot of unnecessary queries--


Shannon Deminick 02 Sep 2014, 00:14:41

TODO: EntityController.GetAncestors


Shannon Deminick 02 Sep 2014, 00:15:56

--TODO: UserRepository.PerformGetAll-- --TODO: UserRepository.PerformGetByQuery--


Shannon Deminick 02 Sep 2014, 00:27:40

--TODO: ContentTypeController.GetAllowedChildren--


Shannon Deminick 02 Sep 2014, 00:28:03

--TODO: MediaTypeController.GetAllowedChildren--


Shannon Deminick 02 Sep 2014, 02:28:40

--TODO: TemplateRepository.PerformGetAll-- --TODO: TemplateRepository.PerformGetByQuery-- TODO: TemplateRepository.MapFromDto


Shannon Deminick 02 Sep 2014, 03:37:51

--UserTypeRepository.PerformGetAll-- --UserTypeRepository.PerformGetByQuery--


Shannon Deminick 02 Sep 2014, 04:14:24

--DataTypeDefinitionRepository.PerformGetAll-- --DataTypeDefinitionRepository.PerformGetByQuery--


Shannon Deminick 08 Sep 2014, 07:46:19

--TODO: MemberRepository: PerformGetByQuery-- --TODO: MemberRepository: PerformGetAll--


Shannon Deminick 10 Sep 2014, 05:04:51

ScheduledPublish still has N+1 queries


Shannon Deminick 11 Sep 2014, 02:59:19

VersionableRepositoryBase.GetAllVersions


Shannon Deminick 11 Sep 2014, 04:24:23

ContentRepository.GetByPublishedVersion


Bradley Kronson 11 Sep 2014, 06:49:40

Sure this will help resolve this too U4-5055


Shannon Deminick 22 Sep 2014, 09:04:29

ApplicationTree/GetApplicationTrees


Priority: Normal

Type: Task

State: Fixed

Assignee: Shannon Deminick

Difficulty: Normal

Category:

Backwards Compatible: True

Fix Submitted:

Affected versions:

Due in version: 7.2.0

Sprint:

Story Points:

Cycle: