原文链接:南大通用GBase 8s 数据库性能优化工具sqltrace用法解析
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。
在数据库管理中,性能监控和优化是确保系统高效运行的关键。南大通用GBase 8s数据库的sqltrace工具,作为性能监控的得力助手,能够帮助我们深入理解数据库活动,快速定位并解决性能瓶颈。
一、sqltrace工具概述
sqltrace是GBase 8s数据库自带的跟踪工具,专门设计用于捕捉和分析数据库中的SQL执行活动。通过sqltrace,我们可以监控SQL语句的执行情况,评估性能,并据此进行优化。2、
二、sqltrace工具的用法
以下命令均在sysadmin数据库下执行。
1、全局跟踪(set sql tracing):对任意用户对任意数据库的操作都跟踪,数据库重启失效
- set sql tracing info:显示全局 SQL 跟踪的状态,返回sqltrace是否是开启的,如果是开启的,同时展示配置参数
Sqltrace开启:
> execute function task ("set sql tracing info");
(expression) SQL Tracing ON: ntraces=15000, size=4056, level=High, mode=Global
Sqltrace关闭:
> execute function task ("set sql tracing info");
(expression) SQL Tracing OFF.
- set sql tracing on:开启全局 SQL 跟踪,可选择地指定跟踪级别和模式,或更改跟踪缓冲区的大小
execute function task("set sql tracing on"," number_traces "," trace_size "," level "," mode ");
参数说明:
| 参数 | 说明 |
| number_traces | 要跟踪的SQL语句的数目,缺省值为1000 |
| trace_size | 跟踪缓冲区大小的KB数。如果超过这个缓冲区大小,则数据库服务器丢弃保存的数据,缺省大小为2KB |
| level | 跟踪级别,支持low、med、high- low 参数捕获语句统计、语句文本和语句迭代器 |
- med 参数捕获low跟踪的信息加上表名、数据库名和存储过程堆栈
- high 参数捕获med跟踪的信息加上主机变量 | | mode | 跟踪所有用户还是选中的用户,支持global、user- global 参数启用对所有用户的跟踪。
- user 参数启用跟踪由 set sql tracing user 参数启用跟踪的用户 |
下列示例对1500条SQL语句启动高级别全局跟踪,跟踪缓冲区为4KB:
execute function task("set sql tracing on","1500","4","high","global");
- set sql tracing off:关闭全局 SQL 跟踪
execute function task ("set sql tracing off");
2、支持以数据库为维度进行跟踪(set sql tracing database):只跟踪用户对指定数据库的操作
- set sql tracing database add:指定跟踪特定的数据库,跟踪记录该数据库下执行成功的SQL,包括跨库查询的SQL。
每次只能指定一个数据库,可以跟踪的数据库数量上限为16个
下列示例对mydb数据库启动跟踪:
execute function task("set sql tracing database add","mydb");
- set sql tracing database remove:只取消对某一个数据库的跟踪
下列示例取消对mydb数据库的跟踪:
execute function task("set sql tracing database remove","mydb");
- set sql tracing database list:查询跟踪的数据库列表
execute function task("set sql tracing database list");
- set sql tracing database clear:清空跟踪的数据库列表,回到跟踪全部数据库的状态
execute function task("set sql tracing database clear");
执行
execute function task("set sql tracing database list");
返回
(expression) SQLTrace is tracing all databases
三、跟踪结果查询
查询在sysmaster库下执行。
查看执行耗时较长sql:
unload to sql.unl
select sql_maxtime,sql_avgtime,sql_statement
from syssqltrace order by sql_maxtime desc;
查看当前路径下生成的sql.unl文件。
查询跟踪信息,根据需要排序
select * from syssqltrace;
命令查看trace信息:
onstat -g his
总之sqltrace工具是数据库管理员进行性能监控和优化的利器。通过合理配置和使用sqltrace,我们能够提升数据库性能,确保业务的连续性和稳定性。
原文链接:南大通用GBase 8s 数据库性能优化工具sqltrace用法解析
更多精彩内容尽在南大通用GBase技术社区,南大通用致力于成为用户最信赖的数据库产品供应商。