首页 > 解决方案 > webapi sql性能查询比较

问题描述

就执行速度而言,从 webapi2 来看,在所有条件相同的情况下,哪种方法会运行得更快?

选项 1 var 结果 = db.Database.SqlQuery("dbo.myStoredProcedure").ToList();

选项 2 var query = db.table1.where(x =>x.email) == targetEmail.select(c => new PortfolioPerfomance)

基本上option1我自己写了sql存储过程,option2我让EF中的模型做适当的关系。查询比这复杂得多,但我只是想了解哪些概念会更快。

谢谢!!

标签: sqlasp.net-web-api2

解决方案


这是一个 EF 的东西,不管你是否使用 web api。

但是,对于要更新大量数据的批量更新,存储过程将始终比 ORM 解决方案执行得更好,因为您不必通过线路将数据编组到 ORM 来执行更新。

此外,如果查询很复杂,当需要检索大量数据时,存储过程比实体框架更快。

请记住,如果您有适当的数据库设计,这两个选项都会运行得更快。

查看这篇文章,了解一些提高 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/


推荐阅读