GBase 8s
性能调优
问答

如何查找最长sql并进行调优

发表于2026-03-19 10:40:4653次浏览6个评论

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

【GBase版本】:GBase8sV8.8_TL_3.6.3_3X2_1_783c8d_RHEL6_x86_64.tar

【操作系统】:RHEL

【CPU】:x86_64

【问题描述】*:在 GBase 8s 数据库中,如何定位执行耗时最长的 SQL 语句?并结合执行计划、索引结构、锁等待与事务机制,进行针对性 SQL 性能调优?

悬赏:2000吉币
回答被发帖人采纳后可获得赏金

评论

登录后才可以发表评论
用户头像
路路路发表于 4个月前
可以进行以下操作:
1、打开sqltracing

EXECUTE FUNCTION task(’ SET SQL TRACING ON');
--关闭sqltracing
EXECUTE FUNCTION task(’ SET SQL TRACING OFF');

2、对指定数据库进行跟踪

EXECUTE FUNCTION task(’ SET SQL TRACING DATABASE ADD');

3、找到“实际运行时间”最长的SQL语句,并进行调优
打开SQL tracing,过一段时间后执行如下SQL语句

select first 20 sql_id from sysmaster:syssqltrace
where sql_runtime > 0
order by sql_runtime desc;

使用上面的SQL语句得到一些sql_id后,再通过下面的SQL语句得到这些sql_id对应的SQL语句的信息(将下面SQL语句中的my_sql_id替换成这些sql_id)

SELECT sql_sid, sql_uid,
dbinfo('UTC_TO_DATETIME',sql_finishtime) as finishtime,
TRUNC(sql_runtime,7) || ' Sec' AS sql_runtime,
sql_actualrows, sql_statement, sql_database
FROM sysmaster:syssqltrace WHERE sql_id = my_sql_id
最佳回答
GBase用户19279发表于 4个月前
@路路路:太详细了,好的我来试试
用户头像
柒柒天晴发表于 4个月前
学习下
nodddddd发表于 4个月前
学习下
曾浩轩发表于 3个月前
学习下
曾云林发表于 2个月前
学习中,还不清楚。