webapi sql 查询比较性能
webapi sql performance of query comparison
就执行速度而言,在 webapi2 所有条件相同的情况下,哪种方法 运行 更快?
选项 1
var 结果 = db.Database.SqlQuery("dbo.myStoredProcedure").ToList();
选项 2
var query = db.table1.where(x =>x.email) == targetEmail.select(c => new PortfolioPerfomance)
基本上选项 1 我自己写了 sql 存储过程,选项 2 我让 EF 中的模型做适当的关系。查询比这复杂得多,但我只是想了解哪个概念会更快。
谢谢!!
这是一个 EF 的东西,不管你是否使用网络 api。
但是,对于要更新大量数据的批量更新,存储过程总是比 ORM 解决方案执行得更好,因为您不必通过网络将数据编组到 ORM 来执行更新.
此外,如果查询很复杂,存储过程在需要检索大量数据时比 Entity Framework 更快。
请记住,如果您有适当的数据库设计,这两个选项都会 运行 更快。
查看这篇文章以获取一些提高 WEB API 性能的技巧:https://www.c-sharpcorner.com/article/Tips-And-Tricks-To-Improve-WEB-API-Performance/
同时检查这个以改进存储过程:https://www.c-sharpcorner.com/article/improve-stored-procedure-performance-in-sql-server-store-procedure-performance/
就执行速度而言,在 webapi2 所有条件相同的情况下,哪种方法 运行 更快?
选项 1 var 结果 = db.Database.SqlQuery("dbo.myStoredProcedure").ToList();
选项 2 var query = db.table1.where(x =>x.email) == targetEmail.select(c => new PortfolioPerfomance)
基本上选项 1 我自己写了 sql 存储过程,选项 2 我让 EF 中的模型做适当的关系。查询比这复杂得多,但我只是想了解哪个概念会更快。
谢谢!!
这是一个 EF 的东西,不管你是否使用网络 api。
但是,对于要更新大量数据的批量更新,存储过程总是比 ORM 解决方案执行得更好,因为您不必通过网络将数据编组到 ORM 来执行更新.
此外,如果查询很复杂,存储过程在需要检索大量数据时比 Entity Framework 更快。
请记住,如果您有适当的数据库设计,这两个选项都会 运行 更快。
查看这篇文章以获取一些提高 WEB API 性能的技巧:https://www.c-sharpcorner.com/article/Tips-And-Tricks-To-Improve-WEB-API-Performance/
同时检查这个以改进存储过程:https://www.c-sharpcorner.com/article/improve-stored-procedure-performance-in-sql-server-store-procedure-performance/