找到顺序扫描次数较多的表:
select p.tabname::char(20) tabname, t.nrows, p.seqscans
from sysmaster:sysptprof p, systables t
where p.tabname=t.tabname
and t.tabid >99 and p.seqscans > 0
order by p.seqscans desc;
找到使用了顺序扫描的SQL语句:
打开SQL tracing,过一段时间后执行如下SQL语句:
select distinct sql_statement
from sysmaster:syssqltrace t inner join sysmaster:syssqltrace_iter i
on t.sql_id = i.sql_id
where i.sql_itr_info='Seq Scan'
order by 1;

本文探讨如何找出数据库中顺序扫描次数较多的表以及执行顺序扫描的SQL语句。通过SQL查询,我们可以定位到高顺序扫描的表,从而进行性能优化。同时,展示了开启SQLtracing来监测并找出使用顺序扫描的SQL语句,帮助优化数据库查询效率。
1186

被折叠的 条评论
为什么被折叠?



