博客
关于我
查询某个表上的IO情况
阅读量:782 次
发布时间:2019-03-25

本文共 1633 字,大约阅读时间需要 5 分钟。

SELECT st.dbsname, p.tabname, sum(sin.ti_nrows) as nrows, round(sum(sin.ti_nptotal*sd.pagesize/1024/1024), 2) as total_size, round(sum(sin.ti_npused*sd.pagesize/1024/1024), 2) as used_size, sum(seqscans) as seqscans, sum(pagreads) as diskreads, sum(bufreads) as bufreads, sum(bufwrites) as bufwrites, sum(pagwrites) as diskwrites, sum(pagwrites) + sum(pagreads) as disk_rsws,
trunc((decode(sum(bufreads), 0, 0, (100 - (sum(pagreads) * 100) / (sum(bufreads) + pagreads))), 2) as rbufhits, trunc((decode(sum(bufwrites), 0, 0, (100 - (sum(pagwrites) * 100) / (sum(bufwrites) + pagwrites))), 2) as wbufhits,
FROM scp20:systables s, sysmaster:sysptprof p, sysmaster:systabinfo sin, sysmaster:sysdbspaces sd, sysmaster:systabnames st
WHERE s.tabid > 99 and s.tabname = p.tabname and p.dbsname = st.dbsname and sd.dbsnum = trunc(st.partnum / 1048576) and p.partnum = st.partnum and s.tabname = st.tabname and st.dbsname = 'scp20 ' and st.partnum = sin.ti_partnum,
GROUP BY 1, 2 ORDER BY 11 DESC

注意事项:以下内容为技术查询脚本,仅供参考,请勿直接使用。

从提供的代码片段可以看到,这是一个用于数据库统计分析的SQL查询。查询从多个系统表(如systables, sysptprof等)中自定义数据,计算了多个关键指标,包括总存储区大小、使用存储区大小、序列扫描次数等。这些数据主要用于数据库性能评估和资源占用分析。

查询的具体字段包括:

  • 数据库名称(dbsname)
  • 表名称(tabname)
  • 数据行总数(nrows)
  • 总存储区大小(total_size)
  • 已使用存储区大小(used_size)
  • 序列扫描次数(seqscans)
  • 磁盘读取总次数(diskreads)
  • 缓冲区读取总次数(bufreads)
  • 缓冲区写入总次数(bufwrites)
  • 磁盘写入总次数(diskwrites)
  • 总磁盘读写次数(disk_rsws)
  • 缓冲区命中率(rbufhits)
  • 写缓冲区命中率(wbufhits)

查询条件主要包含:

  • 表ID大于99
  • 表名匹配
  • 数据库名称匹配
  • 数据分区信息匹配
  • 部分数匹配
  • 数据库名称固定为scp20
  • 部分数与统计信息匹配

最后,查询结果根据指定的排序规则进行返回,主要是按顺序降序排列。

请根据实际需求调整查询条件和排序规则,确保查询结果符合预期。

转载地址:http://ajduk.baihongyu.com/

你可能感兴趣的文章
navicat 系列软件一点击菜单栏就闪退
查看>>
navicat 自动关闭_干掉Navicat!MySQL官方客户端到底行不行?
查看>>
Navicat 设置时间默认值(当前最新时间)
查看>>
navicat 连接远程mysql
查看>>
navicat:2013-Lost connection to MySQL server at ‘reading initial communication packet解决方法
查看>>
Navicate for mysql 数据库设计-数据库分析
查看>>
Navicat下载和破解以及使用
查看>>
Navicat中怎样将SQLServer的表复制到MySql中
查看>>
navicat创建连接 2002-can‘t connect to server on localhost(10061)且mysql服务已启动问题
查看>>
Navicat可视化界面导入SQL文件生成数据库表
查看>>
Navicat向sqlserver中插入数据时提示:当 IDENTITY_INSERT 设置为 OFF 时,不能向表中的标识列插入显式值
查看>>
Navicat因导入的sql文件中时间数据类型有参数而报错的原因(例:datetime(3))
查看>>
Navicat如何连接MySQL
查看>>
navicat导入.sql文件出错2006- MySQLserver has gone away
查看>>
Navicat导入海量Excel数据到数据库(简易介绍)
查看>>
Navicat工具Oracle数据库复制 or 备用、恢复功能(评论都在谈论需要教)
查看>>
Navicat工具中建立数据库索引
查看>>
navicat工具查看MySQL数据库_表占用容量_占用空间是多少MB---Linux工作笔记048
查看>>
navicat怎么导出和导入数据表
查看>>
Navicat怎样同步两个数据库中的表
查看>>