Mic*_*kin 3 linq sql-server linq-to-entities sqlperformance sql-server-2008
我正在尝试使用数据库引擎优化顾问来优化我的数据库,我面临的问题是我的SQL事件探查器跟踪显示使用了大量的查询sp_executesql- 并且顾问程序无法处理这些查询.看起来这些查询来自我正在使用的LINQ到实体,所以只是好奇是否有任何方法可以使LINQ-to-Entities直接调用语句.
LINQ/.NET通过将它们作为sp_executesql对SQL Server的调用发送来运行SQL查询.但是,数据库引擎优化顾问无法通过SQL Server Profiler解析捕获的语句,因此调优会话的结果将很差.
这是我在将sp_executesql语句提供给数据库引擎优化顾问之前将其"解包"的方式,以便它可以正确分析它们.
sp_executesql语句解包到普通TSQL.查找:^EXEC[\s]+SP_EXECUTESQL[\s]+[N]*'((''|[^'])*)'[\s]*,[\s]*[N]*'((''|[^'])*)'[\s]*,[\s]*([^\n]+)$替换:BEGIN\nDECLARE \3\nSELECT \5\n\1\nEND快乐的调整!请注意,我选择了Notepad ++ 6(或更高版本),因为它有一个非常好的正则表达式实现,其他texteditor可能无法运行上面的表达式.
| 归档时间: |
|
| 查看次数: |
2105 次 |
| 最近记录: |