sql - 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中的模型做适当的关系。查询比这复杂得多,但我只是想了解哪些概念会更快。
谢谢!!
解决方案
这是一个 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/
推荐阅读
- java - WildFly - 创建具有长时间运行应用程序的应用程序
- java - 如何让 Gradle 将 Java 依赖项放在不同的目标目录中?
- node.js - 如何在 NodeJS Express 应用程序的多个文件中使用一个 Mysql 池连接
- macos - 在 macos 上安装 Homebrew 时跳过命令行工具的安装
- r - 如何在R中找到公共变量对?
- python - Python-从数据框中选择对象对
- reactjs - React、Typescript 和 setState({ [name]: value }) 错误
- amazon-web-services - 在 Lambda 函数中查找请求的 URL
- sql - 语句中带有运算符的条件 WHERE 子句
- android - 仅为“群组”打开通知设置