SQL AUDIT问题

GV$OB_SQL_AUDIT这个表相关的查询能不能优化一下?每次分析问题查询这个视图需要5分钟才查出来 :crazy_face:

5分钟太夸张了吧,加些过滤条件,不要全表查

5分钟估计是集群本身有点问题或者查询姿势不对,正常都是秒出的

建议:

  1. 用诊断工具obdiag 巡检一下,发出来巡检报告,看看集群本身有没有啥问题。
  2. 把你你查询sql_audit的语句出来看看;

select * from gv$ob_sql_audit where trace_id=‘xxxx’ order by request_time \G DB耗时:239.73S 这张表2300W+行

这样一下 加并发的hint 试一下
select /+ PARALLEL(15)/ * from gv$ob_sql_audit where trace_id=‘xxxx’ order by request_time desc limit 20;

加了16个并行,220s出结果,就这个表慢,其他的都正常 :rofl:

增加一些条件 要不然你的内存设置很大 这个视图的数据淘汰的慢 数据量会非常大 查询就慢了
obclient> SELECT/+ PARALLEL(16)/ sql_id, elapsed_time , trace_id
FROM oceanbase.GV$OB_SQL_AUDIT
WHERE tenant_id = 1001
and IS_EXECUTOR_RPC = 0
and request_time > (time_to_usec(now()) - 10000000)
AND request_time < time_to_usec(now())
ORDER BY elapsed_time DESC LIMIT 10;
可以看看官方文档 你可以看看sql性能问题语句的怎么查询
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002017268

1 个赞