Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Research] Performance Split Queries #410

Open
niraymak opened this issue Mar 30, 2021 · 6 comments
Open

[Research] Performance Split Queries #410

niraymak opened this issue Mar 30, 2021 · 6 comments

Comments

@niraymak
Copy link
Member

Is your feature request related to a problem? Please describe.
Split queries maybe could help to improve the performance.
https://docs.microsoft.com/en-us/ef/core/querying/single-split-queries

Describe the solution you'd like
Investigate the difference between performance of split and single queries.

Production URL

Additional context

@Brend-Smits
Copy link
Member

Please note that this feature was introduced in EF Core 5.0 and DeX is running version 3.1
It might also be worth looking into disabling tracking for 'Get All Projects' query, from my tests, this did significantly improve performance. It does have some side effects, read up on it.

@TimSnoek123
Copy link
Contributor

TimSnoek123 commented Mar 30, 2021

It should be possible to update EF Core to 5.0 maybe it is also worth it to look into that. AsNoTracking should be looked into for sure. I think it will only cause issues for deletes since the Update method that entity framework has does not look at deleted entities.

@Brend-Smits
Copy link
Member

It should be possible to update EF Core to 5.0 maybe it is also worth it to look into that. AsNoTracking should be looked into for sure.

Definitely, although it will also require you to upgrade .NET Core 3.1 (LTS) to .NET 5 (no LTS) on all projects. This is a significant upgrade...

@TimSnoek123
Copy link
Contributor

TimSnoek123 commented Mar 30, 2021

Didn't think about LTS thats maybe not a good plan then.

@Brend-Smits
Copy link
Member

Brend-Smits commented Mar 30, 2021

Didn't think about LTS thats maybe not a good plan then.

Not running LTS is not a significant issue if you are actively developing the product(DeX is still being actively developed). Research should be done to see if it is worth it to update to .NET 5, and later this year to .NET 6 (LTS), in terms of time vs gains.
I'm unsure how much will break from .NET 3 Core -> .NET 5 and .NET 5 -> .NET 6. I suspect the breakages between Core and .NET 5 will be significant, but .NET 5 and .NET 6 will likely not be too bad.
See roadmap at: https://github.com/dotnet/core/blob/main/roadmap.md

@TimSnoek123
Copy link
Contributor

TimSnoek123 commented Mar 30, 2021

Btw i don't think you have to upgrade to .net 5 to use this functionality. ASAM uses ef 5.0.1 and is version .net core 3.1. But it could be different for Dex maybe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants