首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用LinqPad进行SQL性能调优

使用LinqPad进行SQL性能调优
EN

Stack Overflow用户
提问于 2018-09-25 23:59:29
回答 1查看 335关注 0票数 0

我是DBA &软件工程师,管理着SQLServer 2016企业数据库。Application是用EntityFramework而不是存储过程编写的。

DBA是否应该将团队的EF查询放在Linqpad中,以便在开发中调整性能?上周,我了解了LinqPad,并惊讶于它如何将Linq查询转换为SQL。有时Linq查询是不可预测的/随机的(MS仍在改进产品)。这样,我就不需要等待随机查询就可以在准备或生产中访问SQLServer事件探查器。我可以在sprint开发期间与应用程序开发人员进行调优。

这是否是性能调优的适当策略?我读过许多sql,但是没有人讨论LinqPad策略。只是询问一下这是否有助于性能调优。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-26 13:12:59

您提到您的开发人员正在使用实体框架。注意,默认情况下,LINQPad使用LINQPad将LINQ表达式树转换为SQL查询。由于LINQ和EF不一定生成相同的SQL输出,因此您需要遵循将LINQPad与实体框架结合使用文档中的步骤,以确保它使用EF创建SQL。

但是,即使您将LINQPad配置为使用EF,仍然有可能调整与应用程序生成的查询不同的查询。例如,如果应用程序中使用的实体数据模型与配置LINQPad时选择的实体数据模型不同。或者,如果您的应用程序和LINQPad正在使用不同版本的EF等。

对于您的开发人员来说,查看和性能测试特定查询的一种更可靠的方法是配置实体框架,以便在某个地方记录生成的SQL --甚至到Visual中的“调试输出”窗口,这个MSDN博客文章是:如何查看实体框架生成的实际SQL查询

如果它们具有正在处理的本地数据库,或者对dev Server实例具有适当的权限,则还可以运行sp_BlitzCache来跟踪实体框架生成的任何令人讨厌的查询。

LINQPad绝对是查看如何将LINQ表达式转换为SQL查询的好方法。它有助于直观地了解什么是LINQ扩展方法产生的SQL。但是,如果您想查看和调优应用程序生成的查询,那么它可能不是最佳的工作工具。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52575085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档