[DB2] 常用命令4(待续)

2019-04-13 15:20发布

--=====Rrunstates工具:通过更新目录来确定最佳访问路径。通常在数据导入,删除,重建索引时运行。=====
runstats on table [模式名.]表名                     --所有列
runstats on table [模式名.]表名 on columns(列名)     --某些列
runstats on table [模式名.]表名 and indexes all     --表和索引
runstats on table [模式名.]表名 for indexes all     --索引
runstats on table [模式名.]表名 and indexes all util_impace_priority 10  --负载限制
--============================================================================================ 如何找到DB2中最消耗时间的SQL
1、现象、问题描述
有时发现机器的CPU或IOWAIT很高,需要找到一个定位问题的方法。
2、关键过程、根本原因分析
db2 update monitor switches using STATEMENT ON
db2 get snapshot for dynamic sql on >tmp.txt
cat tmp.txt | grep "Total execution time" | sort -k 6
取以上第3步操作的最后一条结果,如“Total execution time (sec.ms)      = 0.003367”,取结果中的0.003367
在tmp.txt 中查找0.003367, 可以发现执行时间最长的SQL --当前用户
db2 "values(current user)"
--当前模式
select tabname from syscat.tables where tabschema=current schema;//获取当前模式下面的所有用户表