性能优化---找到表的顺序扫描

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

找到顺序扫描次数较多的表:
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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请叫我曾阿牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值