<SQL>《SQL命令(含例句)精心整理版(6)》
《SQL命令(含例句)精心整理版(6)》
18 DB2查询语句
18.1 查询数据库大小
//命令
$db2 "call GET_DBSIZE_INFO(?,?,?,0)"
//示例
$ db2 "call GET_DBSIZE_INFO(?,?,?,0)"Value of output parameters--------------------------Parameter Name : SNAPSHOTTIMESTAMPParameter Value : 2013-10-24-09.57.58.642597Parameter Name : DATABASESIZEParameter Value : 3756920832Parameter Name : DATABASECAPACITYParameter Value : 8237072382
说明:
1-命令输出为执行时间,红色字体为数据库大小,蓝色字体为数据库容量大小。
2-输出值大小单位为Byte,除以3次1024,得到单位为GB
18.2 查看表占表空间大小
1、表大小
仅查看表占用不含大数据:
select TABSCHEMA,TABNAME,OWNER,TYPE,CREATE_TIME,ALTER_TIME,STATS_TIME,NPAGES*16/1024/1024||'G' from syscat.tables order by FPAGES desc
物理包含索引大小、lop大数据占用:
slt_dir=/databak
tab_name=`cat tables.txt`
curdate=`date +%Y%m%d`
counter=0db2 connect to tcorp > /dev/null:> $slt_dir/size/${curdate}_size.txt
tab_name=`cat tables.txt`
for tabname in $tab_namedotbschema=`echo "$tabname" | awk -F"." '{print $1}'`tbname=`echo "$tabname" | awk -F"." '{print $2}'`counter=`echo "$counter + 1" | bc`echo "$counter \c" >> $slt_dir/size/${curdate}_size.txtdb2 "SELECT TABNAME,SUM(DATA_OBJECT_P_SIZE+INDEX_OBJECT_P_SIZE+LONG_OBJECT_P_SIZE+XML_OBJECT_P_SIZE)/1024||'M' AS "SIZE" FROM TABLE(SYSPROC.ADMIN_GET_TAB_INFO('$tbschema','$tbname')) AS T GROUP BY TABNAME" | grep "$tbname" >> $slt_dir/size/${curdate}_size.txtdone
18.3 查看正在执行的语句
# get db2 current active sql
# create by chenzl
dbname=CFAS
echo "dbname: $dbname"
appinfolog=/db2databkup/appinfo.log
echo "logfile: $appinfolog">$appinfolog
db2pd -d $dbname -act >listact.tmp
linenum=`wc listact.tmp|awk 'BEGIN{FS=" "}{print $1}'`
actappnum=`expr $linenum - 5`
echo actappnum:$actappnum
tail -n $actappnum listact.tmp>actapp.tmp
echo ******************`date "+20%y-%m-%d %H:%M:%S"`******************** >>$appinfologdelcounter=$actappnumwhile [ $delcounter -gt 0 ]do#echo "delcounter=$delcounter"head -n 1 actapp.tmp >dellogdataretapphandle=`cat dellogdataret|awk 'BEGIN{FS=" "}{print $2}'`echo "------------------apphandle: $apphandle--------------------">>$appinfologdb2pd -d $dbname -apinfo $apphandle>>$appinfologdelcounter=`expr $delcounter - 1`tail -n $delcounter actapp.tmp >dellogdatattcat dellogdatatt >actapp.tmpdone
#display the sql
echo "----------the current active sql:-----------"
more $appinfolog|grep "Statement :"
rm -f dellogdatatt
rm -f dellogdataret
#rm -f actapp.tmp
18.4 db2expln 查看执行计划
1、查询语句的执行计划
db2expln -d dbname -i -g -q “sql语句” -o 文件名
2、示例语句:
db2expln -d tycjdb -i -g -q "SELECT B.BANKCODE, B.BANKNAME, S.SAFENAME, B.SAFECODE,SUM(E.RECNUMS) as RECNUMS,SUM(E.ERRNUMS) as ERRNUMS,CAST(SUM(E.ERRNUMS) * 100.00 / SUM(E.RECNUMS) AS DEC(12, 2)) AS RATE1 FROM tycj.VSYS_APICHKINFO E JOIN tycj.vsys_STAT_DLY_BANK B ON substr(E.ORGCODE, 7, 4) = B.BANKCODE JOIN tycj.TBL_CODESAFE S ON B.SAFECODE = S.SAFECODE WHERE 1 = 1 and E.DEALTIME >= '2019-10-01 00:00:00' and E.DEALTIME <= '2020-09-30 23:59:59' and B.BANKCODE in ('0001','0002','0003') GROUP BY B.BANKCODE, B.BANKNAME, S.SAFENAME, B.SAFECODE order by B.BANKCODE" -o 2020.txt
3、示例语句2:
db2expln -d tycjdb -q " 语句 " -g -t
4、执行计划查看方法 :
由下往上看,有索引Index: 的表示已经使用上索引,无需优化。TBSCAN :表示全表扫描,需要加索引。e+06表示10的6次方,单位是毫秒ms,所以纯数字级别的都不高。
18.5 db2advis 查看优化建议
1、查询db2优化建议
// 格式
db2advis -d tycjdb -t -s "sql语句" > 文件名
// 示例db2advis -d tycjdb -n tycj -s "sql语句" >文件名
//说明-d 数据库名-n schema名-s 后面跟语句-o+文件名 输出时缺少前几行用>+文件名输出比较完整
2、示例1
db2advis -d tycjdb -t -s "SELECT B.BANKCODE, B.BANKNAME, S.SAFENAME, B.SAFECODE,SUM(E.RECNUMS) as RECNUMS,SUM(E.ERRNUMS) as ERRNUMS,CAST(SUM(E.ERRNUMS) * 100.00 / SUM(E.RECNUMS) AS DEC(12, 2)) AS RATE1 FROM tycj.VSYS_APICHKINFO E JOIN tycj.vsys_STAT_DLY_BANK B ON substr(E.ORGCODE, 7, 4) = B.BANKCODE JOIN tycj.TBL_CODESAFE S ON B.SAFECODE = S.SAFECODE WHERE 1 = 1 and E.DEALTIME >= '2019-10-01 00:00:00' and E.DEALTIME <= '2020-09-30 23:59:59' and B.BANKCODE in ('0001','0002','0003') GROUP BY B.BANKCODE, B.BANKNAME, S.SAFENAME, B.SAFECODE order by B.BANKCODE" > 2020.sql
3、示例2:
db2advis -d tycjdb -s " 语句 "
4、执行优化建议方法
绿色框中为执行语句
19 空值
19.1 NULL
//命令:
is not null
19.2 TRIM
//命令:
trim(b.branchname) <>''
//示例:
update SYS_ADMITORGS a set a.ORGNAME=(select b.branchname from tbl_codebranch b where a.orgcode=b.BRANCHCODE and b.BRANCHNAME is not null and trim(b.branchname) <>'') where exists (select 1 from tbl_codebranch b where a.orgcode=b.BRANCHCODE and b.BRANCHNAME is not null and trim(b.branchname) <>'')
相关文章:

<SQL>《SQL命令(含例句)精心整理版(6)》
《SQL命令(含例句)精心整理版(6)》 18 DB2查询语句18.1 查询数据库大小18.2 查看表占表空间大小18.3 查看正在执行的语句18.4 db2expln 查看执行计划18.5 db2advis 查看优化建议 19 空值19.1 NULL19.2 TRIM 18 DB2查询语句 18.1 …...

信息系统建设和服务能力评估证书CS
信息系统建设和服务能力评估体系CS简介 简介:本标准(团标T/CITIF 001-2019)是信息系统建设和服务能力评估体系系列标准的第一个,提出了对信息系统建设和服务提供者的综合能力要求。 发证单位:中国电子信息行业联合会。…...
vue3引入路由
1.首先在项目中安装路由 npm install vue-router -S 2.src文件夹下新建》views文件夹》新建home文件夹》新建Home.vue文件 在src文件夹下》新建router文件夹》新建index.js import { createRouter,createWebHashHistory } from vue-router const route s[ { path:/, compo…...

前后端联调跨域问题
文章目录 什么是同源策略如何判断是否同源?跨域资源共享(CORS)如何解决跨域问题 什么是同源策略 同源策略限制了从同一个源加载的文档或脚本如何与来自另一个源的资源进行交互。这是一个用于隔离潜在恶意文件的重要安全机制。 如何判断是否同源? 如果…...

day11 - 手写数字笔迹细化
手写数字笔迹细化 对于手写数字识别实验中,经常会遇到因为笔迹较粗导致误识别的情况,所以我们通常会先将笔迹进行细化,笔迹变细以后,数字的特征会更明显,后续进行识别的准确率就会更高。 例如数字7 和 1 ,…...
C++ QT QDBus基操
以下是使用QDBus进行跨进程通信的具体用法: 1. 创建DBus服务 在服务端进程中,需要创建一个DBus服务,并注册DBus对象。示例代码如下: #include <QDBusConnection> #include <QDBusMessage> #include <QDBusInterf…...

STM32的SPI外设
文章目录 1. STM32 的 SPI 外设简介2. STM32 的 SPI 架构剖析2.1 通讯引脚2.2 时钟控制逻辑2.3 数据控制逻辑2.4 整体控制逻辑 3. 通讯过程4. SPI 初始化结构体详解 1. STM32 的 SPI 外设简介 STM32 的 SPI 外设可用作通讯的主机及从机,支持最高的 SCK 时钟频率为 …...

VMWare ESXI6.7创建虚拟机
VMware ESXi:专门构建的裸机 管理程序 首先开启ESXI主机 登录ESXI 打开浏览器输入物理机ip,输入账号密码进行登录 创建虚拟机 选择创建类型 创建RedHat7.6 选择存储类型和数据存储 仅一个存储,直接点下一页即可 配置虚拟机硬件和虚拟机附…...

TensorFlow 1.x学习(系列二 :4):自实现线性回归
目录 线性回归基本介绍常用的op自实现线性回归预测tensorflow 变量作用域模型的保存和加载 线性回归基本介绍 线性回归: w 1 ∗ x 1 w 2 ∗ x 2 w 3 ∗ x 3 . . . w n ∗ x n b i a s w_1 * x_1 w_2 * x_2 w_3 * x_3 ... w_n * x_n bias w1∗x1w2∗…...
Openwrt折腾记6-网络摄像头
前言: 前几天买了个电视机上的摄像头,但是估计是电视配置或软件不好,视频通话太卡顿。今天把它装的极路由4的usb上了。由于当初挑的是电视免驱的,所以我猜想是通用的芯片。 调查驱动 LINUX uvc支持型号的列表里 http://www.ide…...

C++判断大端小端
C判断大端小端 1. 基础知识 大端小端其实表示的是数据在存储器中的存放顺序。 大端模式:数据的高字节存放在内存的低地址中,而低字节则存放在高地址中。地址由小到大增加,数据则从高位向低位存放,这种存放方式符合人类的正常思维…...
K8S RBAC之Kubeconfig设置用户权限,不同的用户访问不同的namespace
1.CA签发客户端证书 检查证书是否存在 # ll /etc/kubernetes/pki/ 总用量 48K -rw-r----- 1 kube root 2.1K 3月 2 16:44 apiserver.crt -rw------- 1 kube root 1.7K 3月 2 16:44 apiserver.key -rw-r----- 1 kube root 1.2K 3月 2 16:44 apiserver-kubelet-client.cr…...

CodeForces..学习读书吧.[简单].[条件判断].[找最小值]
题目描述: 题目解读: 给定一组数,分别是 “时间 内容”,内容分为00,01,10,11四种,求能够得到11的最小时间。 解题思路: 看似00,01,10࿰…...

灵活使用Postman环境变量和全局变量,提高接口测试效率!
目录 前言: 环境变量和全局变量的概念 环境变量和全局变量的使用方法 1. 定义变量 2. 使用变量 环境变量和全局变量的实例代码 变量的继承和覆盖 变量的动态设置 总结: 前言: Postman是一个流行的API开发和接口测试工具,…...
Springboot+Vue3 整合海康获取视频流并展示
目录 1.后端 1.1 导入依赖 1.2 代码实战 2.前端 2.1 首先安装海康的web插件,前端vue3代码如下: 1.后端 1.1 导入依赖 <dependency><groupId>com.hikvision.ga</groupId><artifactId>artemis-http-client</artifactId&g…...

Linux——进程退出
目录 一.进程退出时有三种选择: 1.1 echo $?命令: 功能: 打印距离现在最近一次执行某进程的退出码 例2代码: 例3: 例4代码: 1.3 进程运行过程中可能会出现的错误种类: 二.总结ÿ…...

组长给组员派活,把组长自己的需求和要改的bug派给组员,合理吗?
组长把自己的工作派给手下,合理吗? 一位程序员问: 组长给他派活,把组长自己的需求或者要改的bug派给他。组长分派完需求之后,他一个人干两个项目,组长却无所事事,这样合理吗? 有人说…...

Spring注解开发——bean的作用范围与生命周期管理
文章目录 1.bean管理1.1 bean作用范围Scope注解 1.2 bean生命周期PostConstructPreDestroy 2.小结 1.bean管理 1.1 bean作用范围 Scope注解 不写或者添加Scope(“singleton”)表示的是单例 如何配置多例? 在Scope(“prototype”)表示的是多例 1.2 bean生命周…...
C++ > Cmake
目录 编译器 多文件编译与链接 Makefile构建系统 编译器 厂商 C C GNU gcc g main.cpp #include <cstdio>int main() {printf("Hello, world!\n");return 0; }编译器, 是一个根据源代码生成机器码的程序 g main.cpp -o a.out调用编译器程序g, 读…...

Spring的Bean的生命周期
Spring的Bean的生命周期 Spring的Bean的生命周期 Spring的Bean的生命周期 Spring的Bean的生命周期包括以下阶段: (1)实例化Instantiation(2)填充属性Populate properties(3)处理Aware接口的回调…...
LLM基础1_语言模型如何处理文本
基于GitHub项目:https://github.com/datawhalechina/llms-from-scratch-cn 工具介绍 tiktoken:OpenAI开发的专业"分词器" torch:Facebook开发的强力计算引擎,相当于超级计算器 理解词嵌入:给词语画"…...

vue3+vite项目中使用.env文件环境变量方法
vue3vite项目中使用.env文件环境变量方法 .env文件作用命名规则常用的配置项示例使用方法注意事项在vite.config.js文件中读取环境变量方法 .env文件作用 .env 文件用于定义环境变量,这些变量可以在项目中通过 import.meta.env 进行访问。Vite 会自动加载这些环境变…...

有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...
Pydantic + Function Calling的结合
1、Pydantic Pydantic 是一个 Python 库,用于数据验证和设置管理,通过 Python 类型注解强制执行数据类型。它广泛用于 API 开发(如 FastAPI)、配置管理和数据解析,核心功能包括: 数据验证:通过…...
CppCon 2015 学习:Time Programming Fundamentals
Civil Time 公历时间 特点: 共 6 个字段: Year(年)Month(月)Day(日)Hour(小时)Minute(分钟)Second(秒) 表示…...

GraphRAG优化新思路-开源的ROGRAG框架
目前的如微软开源的GraphRAG的工作流程都较为复杂,难以孤立地评估各个组件的贡献,传统的检索方法在处理复杂推理任务时可能不够有效,特别是在需要理解实体间关系或多跳知识的情况下。先说结论,看完后感觉这个框架性能上不会比Grap…...
精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑
精益数据分析(98/126):电商转化率优化与网站性能的底层逻辑 在电子商务领域,转化率与网站性能是决定商业成败的核心指标。今天,我们将深入解析不同类型电商平台的转化率基准,探讨页面加载速度对用户行为的…...

python可视化:俄乌战争时间线关键节点与深层原因
俄乌战争时间线可视化分析:关键节点与深层原因 俄乌战争是21世纪欧洲最具影响力的地缘政治冲突之一,自2022年2月爆发以来已持续超过3年。 本文将通过Python可视化工具,系统分析这场战争的时间线、关键节点及其背后的深层原因,全面…...