我正在尝试使用SQL Server Profiler(2005)来追踪一些应用程序性能问题。其中一个调用是表值用户定义的函数。此函数包含一个将多个表连接在一起的选择。
在SQL Server Profiler中,将记录对UDF的调用。但是,根本不记录UDF的基础选择。因此,我没有获得有关哪些表格和表格的有用数据。索引正在被击中。我想将此信息提供给数据库调优顾问以获取一些索引建议。
是否有任何方法(缺少解包查询本身)来记录Profiler中UDF调用的表?
答案 0 :(得分:3)
你不能:多语句TVF是一个黑盒子,你只能获得CPU,读,写等。
by“black box”我的意思是它是一个完全封装且不透明的一系列语句在另一个查询中,并且没有像你通过存储过程逐行获取的“流程”。
将内嵌TVF像视图或宏一样扩展到主查询中,可以看到。