当前位置: 首页 > news >正文

GBase 8s常见问题解析---追踪统计SQL执行情况 SQLTRACE

本文摘自GBASE南大通用社区,by:wty,原文请点击:GBase 8s常见问题 -- 追踪统计SQL执行情况 SQLTRACE|GBASE社区|天津南大通用数据技术股份有限公司|GBASE-致力于成为用户最信赖的数据库产品供应商

问题现象

某些SQL执行慢、有问题,又找不到对应的SQL时,可以尝试使用SQLTRACE来查问题SQL,或者统计一段时间内的SQL执行情况

解决方法

使用dbaccess连接sysadmin系统库,执行task函数

[gbasedbt@test15 ~]$ dbaccess sysadmin -Database selected.> execute function task("SET SQL TRACING ON", 50000,"4k","high","global");(expression)  SQL Tracing ON: ntraces=50000, size=4056, level=High, mode=Global. 1 row(s) retrieved.> 

“SET SQL TRACING ON” : 开启SQLTRACE命令

50000 : 要跟踪的 SQL 语句的数目。默认 1000。超出后会删除旧的数据。

“4k” : 跟踪缓冲区大小的 KB 数。如果超过这个缓冲区大小,则数据库服务器丢弃保存的数据。默认 2 KB。

“high” : 跟踪级别。缺省为 low

使用 low 参数来捕获语句统计、语句文本和语句迭代器。

使用 med 参数来捕获包括在低级跟踪的所有信息,加上表名、数据库名和存储过程堆栈。

使用 high 参数来捕获包括在中级跟踪的所有信息,加上主机变量。

使用 global 参数来启用对所有用户的跟踪。

使用 user 参数来启用跟踪那些由 set sql tracing user 参数启用跟踪的用户。

“global” :跟踪所有用户还是选中的用户。 可以选 global、user

关闭SQLTRACE

[gbasedbt@test15 ~]$ dbaccess sysadmin -Database selected.> execute function task("SET SQL TRACING OFF");(expression)  SQL Tracing OFF. 1 row(s) retrieved.> 

也可以在命令行使用echo给dbaccess传SQL语句执行

[gbasedbt@test ~]$ echo 'execute function task("SET SQL TRACING ON", 50000,"4k","high","global")'|dbaccess sysadminDatabase selected.(expression)  SQL Tracing ON: ntraces=50000, size=4056, level=High, mode=Global. 1 row(s) retrieved.Database closed.[gbasedbt@test ~]$ echo 'execute function task("SET SQL TRACING OFF")'|dbaccess sysadminDatabase selected.(expression)  SQL Tracing OFF. 1 row(s) retrieved.Database closed.

查询SQLTRACE统计信息

使用SQL在sysmaster系统库中查syssqltrace表,建议适当使用group by / order by配合where条件进行统计

select * from sysmaster:syssqltrace

类型描述
sql_idint8唯一 SQL 执行 ID
sql_addressint8代码块中语句的地址
sql_sidint运行 SQL 语句的用户的数据库的会话 ID
sql_uidint运行 SQL 的语句的用户 ID
sql_stmttypeint语句类型
sql_stmtnamechar(40)显示为单词的语句类型
sql_finishtimeint次语句的完成时间 (UNIX™)
sql_begintxtimeint此事务的启动时间
sql_runtimefloat语句执行时间
sql_pgreadsint此 SQL 语句的磁盘读取数
sql_bfreadsint此 SQL 语句的缓冲区读取数
sql_rdcachefloat从缓冲池读取页的时间百分比
sql_bfidxreadsint索引页缓冲区读取数
sql_pgwritesint写入磁盘的页数
sql_bfwritesint已修改并返回到缓冲池的页数
sql_wrcachefloat页已写入缓冲池,但未写入磁盘的时间百分比
sql_lockreqint此 SQL 语句所需锁总数
sql_lockwaitsintSQL 语句等待锁的次数
sql_lockwttimefloatSQL 语句期间系统等待锁定的时间
sql_logspaceint逻辑日志中 SQL 语句所用空间量
sql_sorttotalint为语句运行的排序数
sql_sortdiskint磁盘上运行的排序数
sql_sortmemint内存中运行的排序数
sql_executionsintSQL 语句运行的次数
sql_totaltimefloat运行语句所用的时间总量
sql_avgtimefloat运行语句所用的平均时间
sql_maxtimefloat执行 SQL 语句所使用最大时间量
sql_numiowaitsintI/O 操作必须等待的次数
sql_avgiowaitsfloatSQL语句必须等待的平均时间量
sql_totaliowaitsfloatSQL 语句必须等待 I/O 的时间总量。这不包含任何异步 I/O
sql_rowspersecfloat产生的平均行数(每妙)
sql_estcostint与SQL 语句关联的成本
sql_estrowsint按照优化器的预测为 SQL 语句返回的预估计行数
sql_actualrowsint为 SQL 语句返回的行数
sql_sqlerrorintSQL 错误号
sql_isamerrorintRSAM/ISAM 错误编号
sql_isollevelintSQL 语句的隔离级别
sql_sqlmemoryint执行 SQL 语句所需字节数
sql_numiteratorsint语句所用迭代器数
sql_databasechar(128)数据库名称
sql_numtablesint执行 SQL 语句中所用表数
sql_tablelistchar(4096)SQL 语句中直接引用的表名列表。如果 SQL 语句激发对其他表执行语句的触发器,将不列出这些表
sql_statementchar(1600)已运行的 SQL 语句

相关文章:

  • 2、Line Charts折线图
  • 【设计模式】腾讯二面:自动贩卖机/音频播放器使用了什么设计模式?
  • 上门回收小程序,打造回收新模式
  • 【网络安全】常见的网络威胁有哪些?
  • 外网ssh远程连接服务器
  • 【FINEBI】finebi中常用图表类型及其适用场景
  • C#的WPF使用OFFICE库播放PPT
  • 复合机器人颠覆传统上下料,实现高效精准生产
  • vue3-elementPlus部分组件样式修改
  • 71 C++ Linux下的 不用 g++优化行为,验证一些问题
  • 网络协议与攻击模拟_06攻击模拟SYN Flood
  • 2024-01-23(MongoDBElasticSearch)
  • 流动的边框用css怎么实现
  • 国标GB28181协议EasyCVR启动失败报错“Local Machine Check Error”的解决方法
  • Spring/Spring boot项目接入traceId
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • 「前端」从UglifyJSPlugin强制开启css压缩探究webpack插件运行机制
  • 【附node操作实例】redis简明入门系列—字符串类型
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 230. Kth Smallest Element in a BST
  • React-flux杂记
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • SOFAMosn配置模型
  • Spring Boot MyBatis配置多种数据库
  • Theano - 导数
  • vue的全局变量和全局拦截请求器
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 从零开始的webpack生活-0x009:FilesLoader装载文件
  • 如何用Ubuntu和Xen来设置Kubernetes?
  • 算法-插入排序
  • 详解移动APP与web APP的区别
  • 教程:使用iPhone相机和openCV来完成3D重建(第一部分) ...
  • 数据库巡检项
  • ​​​​​​​sokit v1.3抓手机应用socket数据包: Socket是传输控制层协议,WebSocket是应用层协议。
  • #162 (Div. 2)
  • (2)(2.10) LTM telemetry
  • (pytorch进阶之路)扩散概率模型
  • (离散数学)逻辑连接词
  • (四)汇编语言——简单程序
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • . Flume面试题
  • .NET “底层”异步编程模式——异步编程模型(Asynchronous Programming Model,APM)...
  • .NET Core 中的路径问题
  • .NET 使用 JustAssembly 比较两个不同版本程序集的 API 变化
  • .NET开源的一个小而快并且功能强大的 Windows 动态桌面软件 - DreamScene2
  • .NET企业级应用架构设计系列之结尾篇
  • .NET与 java通用的3DES加密解密方法
  • @EnableConfigurationProperties注解使用
  • [BZOJ 4034][HAOI2015]T2 [树链剖分]
  • [Django 0-1] Core.Checks 模块
  • [hive] 窗口函数 ROW_NUMBER()
  • [IOI2018] werewolf 狼人