We have discovered that the Skip and Take parameters that are used for paging, are treated as expression constants inside the Kendo.Mvc librabry.
For this reason, each page will generate a slightly different query because these two numbers are IN the query versus begin a query parameter.
Most DBMS systems who use optimized query plans, will not be able to re-use these plans for different pages, which is a performance waste.
Here are some blogs also describing our issue:
- https://anthonychu.ca/post/entity-framework-parameterize-skip-take-queries-sql/
- https://visualstudiomagazine.com/articles/2016/12/06/skip-take-entity-framework-lambda.aspx
I also attached a screenshot of the Skip and Take implementation of the Kendo.Mvc Queryable Extensions library.
Our software is based on .NET 4.6 and we have no near-future plans to going to .NET Core.
Is there a workaround for this performance issue?