存档
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