我现在正在尝试使用 Database Engine Tuning Advisor 优化我的数据库,我面临的问题是我的 SQL Profiler 跟踪显示使用 sp_executesql 执行的大量查询 - 并且顾问无法处理这些查询。这些查询似乎来自我正在使用的 LINQ-to-Entities,所以很好奇是否有任何方法可以让 LINQ-to-Entities 直接调用语句。

最佳答案

同意亚当。在 Entity Framework /ADO.net 中使用 sp_executesql 是有意的。然后执行类似于参数化存储过程的查询,SQL 优化器可以重用查询计划。

如果您希望调整您的数据库,您也应该考虑这些查询。我建议您备份您的数据库,使用重放跟踪模板(在您的 SQL 分析器中)捕获查询,恢复您的数据库,运行您的调优顾问将其工作负载设置为此跟踪

关于sql-server - LINQ-to-Entities 去掉 sp_executesql,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3126437/

10-11 22:44
查看更多