0

我们的系统被另一个访问我们的系统,它MAX()从一个连接几个大表但只返回几千行的视图中选择一列。

他们的查询很慢,但是当我们尝试时sp_showplan,只有“OPEN CURSOR”可见。

必须有一个连接顺序和索引使用(某处必须有一个完整的计划),但我们看不到它。

监视器表出现只是为了存储显示计划。

有任何想法的人吗?也许是某种 dbcc?

4

2 回答 2

0

MDA 表是否安装在那里。如果是,您是否检查了表 monSysPlanText。

检查查询计划的其他方式,使用下面

设置 showplan on write Query go

还有其他选项也提供以下详细信息:-

set statistics time on set statistics io on set statistics plancost on

于 2012-10-30T15:32:09.897 回答
0

听起来客户端 JDBC/ODBC 设置可能具有“游标”而不是直接启用,它将游标包裹在所有查询周围。

在调查方面,您还可以在活动时检查该 spid 的系统锁,并根据其对象 ID 查看正在使用哪些锁,这将帮助您缩小正在使用的任何表和/或特定索引的范围。

如果您确实启用了 MDA,那么 monOpenObjectActivity 和 monProcessActivity 也会有所帮助。

于 2017-07-28T13:39:31.740 回答