就执行速度而言,从webapi2来看,所有条件都相等,哪种方法将运行得更快?
选项1var result = db.Database.SqlQuery(“ dbo.myStoredProcedure”)。ToList();
选项2var query = db.table1.where(x => x.email)== targetEmail.select(c => new PortfolioPerfomance)
基本上,option1是我自己编写的sql存储过程,而option2我是让EF中的模型执行适当的关系。查询要比这复杂得多,但我只是想了解其中的概念会更快。
谢谢!
这是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/