暂无图片
暂无图片
暂无图片
暂无图片
暂无图片
OceanBase数据库性能诊断和调优之二十一.pdf
175
5页
11次
2023-06-05
免费下载
629 > 7 章:OceanBase 数据库性能诊断和调优
| 1002 | 172.20.249.52 | 3362 | 55E820294D4EEFB396B1BAD3CE27CD47 | 3 |
SELECT /*+ read_consistency(weak) ob_querytimeout(100000000) */ substr(usec_to_ti
me(request_time),1,19) request_time_, s.svr_ip, s.client_Ip, s.sid,s.tenant_id, s.tenant_
name, s.user_name, s.db_name, s.query_sql, s.plan_id, s.plan_type, s.affected_rows, s.
return_rows, s.ret_code, s.event, s.elapsed_time, s.queue_time, s.execute_time
FROM oceanbase.gv$sql_audit s
WHERE 1=1 and s.tenant_id = 1002
and user_name='u_tpcc' and query_sql like 'select o.o_w_id%'
and request_time >= time_to_usec(date_sub(CURRENT_TIMESTAMP, interval 60 minut
e ))
ORDER BY request_time DESC
LIMIT 100 | 2021-10-05 11:24:04.440565 | 111119 | 1 | 2 |
150067 | -1 |
+-----------+---------------+---------+----------------------------------+------+---------------------------------------
----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------
-------------------------------------------------+----------------------------+--------------+------------+------------+-
-----------------+------------+
10 rows in set (0.014 sec)
从这个视图里可以看到全局的 SQL 执行汇总。适合找 TOP N SQL。根据里面的节点信息、
SQLID PLANID 信息,既可以到 SQL 审计视图里定位具体的 SQL 信息,也可以查看实际
运行的执行计划信息。
执行计划可以清空,命令如下:
ALTER SYSTEM flush plan cache GLOBAL;
630 > 7 章:OceanBase 数据库性能诊断和调优
仅用于测试环境研究,生产环境的 SQL 执行计划缓存通常不可随便清空。清空执行计划会导
致所有 SQL 要重新进行一次硬解析。
如何使用 Outline 改变执行计划
OceanBase 在 SQL 执行和性能诊断方面的逻辑参考了 Oracle 的设计思路。OceanBase 也
支持 SQL Outline 功能,能够修改在线运行的 SQL 执行计划,同时也支持 SQL 限流功能。
Outline 的用法也是通过 SQL Hint 固定 SQL 的执行计划,可以调整表连接算法、使用的索
引等等。
创建大纲的语法如下:
CREATE [OR REPLACE] OUTLINE outline_name ON stmt [ TO target_stmt ];
#
CREATE [OR REPLACE] OUTLINE outline_name ON 'SQLID' using 'HINTS';
1、其中 stmt 为一个带有 HINT 的 DML 语句。限流或固定计划,通过 stmt 中的 HINT
区分。
2、如果期望对含有 HINT 的语句进行限流和固定计划,则需要 TO target_stmt 来指明相应
SQL。
create outline outline_name on stmt1 to stmt2; stmt2 建 outline stmt2 使用
stmt1 中的 hint。
3、指定 OR REPLACE 后,即可对已经存在执行计划或限流规则进行替换(注:限流规则和
行计划间可以彼此替换)。
of 5
免费下载
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文档的来源(墨天轮),文档链接,文档作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
最新上传
暂无内容,敬请期待...
下载排行榜
Top250 周榜 月榜