存档

2013年12月7日 的存档,文章数:2

ASE中在会话级别得到SQL语句的抽象查询计划:

set showplan on
go
set statistics io,time on
go
set noexec on
go
--<<<SQL语句>>>
set noexec off
go
set statistics io,time off
go
set showplan off
go

如果知道会话的spid,可以执行:

sp_showplan @sp_id,null,null,null

查看该会话正在执行的最后一条SQL语句的抽象查询计划。

 

1)    打开抽象查询计划备份
sp_configure "abstract plan dump",1

2)    查找表扫描的语句
sp_find_qplan '%t_scan%'
或者
use db_name
go
select a.id,a.hashkey,a.text
from sysqueryplans a
inner join sysqueryplans b on a.id=b.id and a.hashkey=b.hashkey
where a.type=10
and b.text like '%t_scan%'

3)    查看语句的查询计划
根据上面步骤中得到的SQL ID,执行sp_help_qplan @id

4)    关闭抽象查询计划备份
sp_configure "abstract plan dump",0