是否有可能以编程方式获取LINQ to SQL或ADO.NET Query的执行计划以显示调试信息?如果是这样,怎么样?如何使用LINQ to SQL/ADO.NET获得执行计划
回答
当然,有2件事情你需要。
定制实现DbConnection
,DbCommand
和DbDataReader
。你可以使用它来拦截所有发送到数据库的SQL。你基本上已经设置好了,所以你有一个记录所有运行的SQL的层。 (我们计划在未来几个月内在此领域开源,敬请关注)
一种显示数据构成方式的方法,这种情况在此处是开源的:http://data.stackexchange.com/stackoverflow/s/345/how-unsung-am-i(请参阅包含执行计划选项)
另一种方法是通过查看proc缓存来做事后诊断。 sys.dm_exec_query_stats包含可以扩展的缓存计划句柄。
为开源exec计划显示提供链接? – 2011-05-15 02:50:15
@Chad肯定... http://data.stackexchange.com/about – 2011-05-15 04:54:47
谢谢,很有帮助。 :d – 2011-05-15 14:08:39
- 1. 执行合并使用LINQ to SQL
- 2. LINQ to XML - 如何获得索引
- 3. 如何执行此Linq-to-Sql连接?
- 4. Linq to SQL如何执行DeleteAllOnSubmit?
- 5. Oracle执行计划
- 6. Linq-to-SQL:如何对子选项执行计数
- 7. 如何获得使用Linq to SQL的列名称列表
- 8. 如何获得postgresql中正在运行的查询的执行计划?
- 9. 如何使用LINQ to SQL执行CROSS JOIN?
- 10. 如何使用C#从SQL Server获取预计的执行计划?
- 11. Linq-to-SQL执行NonQuery
- 12. 执行计划重用
- 13. SQL Server捕获执行计划
- 14. SQL执行计划
- 15. Maven执行计划
- 16. 计划执行程序的计划方法只执行一次
- 17. 您如何计划Windows Workflow的执行?
- 18. 使用LINQ to XML获取XML值使用LINQ to XML
- 19. NHibernate查询执行计划?
- 20. 因执行信使计划而丢失
- 21. Oracle外键执行计划?
- 22. Windows服务计划执行
- 23. 如何通过jdbc获取Oracle执行计划xml
- 24. 获得使用LINQ
- 25. 如何获得与linq/linq2sql计数?
- 26. 如何减少在MS SQL执行计划“执行数”
- 27. 如何强制将Linq的执行计划重新编译为SQL查询?
- 28. 如何使用LINQ to对象
- 29. SQL Server查询执行计划重建
- 30. SQL数据执行计划
我不知道LINQ的具体情况,但这是一个以编程方式获取查询计划的解决方案。要为LINQ做同样的事情,似乎你必须大量修改生成的文件。应该可行,复杂但可行。 http://social.msdn.microsoft.com/Forums/en-US/sqldatabaseengine/thread/aaf5e9c9-a222-414a-baed-5c0adcc329e2 – RThomas 2011-05-12 15:57:12
你完成了吗?如果您可以在某个时候发布帖子,我很乐意看到解决方案。 – RThomas 2011-05-14 05:42:33