暂无图片
分享
Ruian
2020-07-23
update TABLE_LOCK问题
暂无图片 5M

有一条简单的update语句,每次只更新一条记录,
update table t set T.A = :1 , T.B = :2 , T.C = :3 WHERE 1 = 1 AND T.PHON_NUM = :4 AND T.E = :5 AND T.F = :6

T表数据量大概五千万,where条件有走索引
这个语句从AWR看大概每小时执行两百次

SELECT s.username,decode(l.type, ‘TM’, ‘TABLE LOCK’, ‘TX’, ‘ROW LOCK’, NULL) LOCK_LEVEL,o.owner,o.object_name,o.object_type,s.sid,s.serial#
FROM gvsessions,gvsession s, gvlock l, dba_objects o WHERE l.sid = s.sid AND l.id1 = o.object_id(+) AND s.username is NOT NULL
用这个语句抓取频繁出现该语句,是否正常?

收藏
分享
3条回答
默认
最新
Ruian

image.png

暂无图片 评论
暂无图片 有用 0
始于脚下

执行一次80%的时间应该消耗在等待上了,CPU使用时间不到20%,所以还需要结合其他指标,看具体导致等待是因为锁等待还是其他原因。

暂无图片 评论
暂无图片 有用 0
Ruian
问题已关闭: 问题已经得到解决
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏