DB2数据库运行维护

简介:

DB2提供了RUNSTATS命令来手工更新数据库统计信息。在成功执行RUNSTATS命令之后,静态SQL查询并不会使用最近的数据库统计信息,这是因为静态SQL的访问策略在之前执行BIND时就已确定,而当时使用的统计信息有可能与现在的并不一致。这时候就需要重新绑定使用静态sql的应用程序,这样查询优化器就可以根据数据库最新统计信息来选择获取数据库的最佳访问策略。但是,对于使用动态sql的应用程序而言,则没有必要进行重新绑定,因为动态sql语句的访问策略是根据统计信息在运行时动态生成的。

如何更新统计信息

  只有当进行显示请求时,对象的统计信息才会在系统目录表中被更新。有以下几种方法可以更新部分或全部统计信息:

  • 使用RUNSTATS(运行统计信息,Run Statistics)命令
  • 使用带有指定的统计信息收集选项的LOAD
  • 对针对一组预先定义的系统目录视图进行操作的SQL UPDATE 语句进行编码
  • 使用"reorgchk update statistics"命令

记住:批量加载数据之后要运行RUNSTATS命令
一次对一张表进行RUNSTATS命令:

db2  -v runstats on table tabschema.tabname and indexes all

这个命令将收集该表及其所有索引(基本级别)的统计信息。

查看是否执行了RUNSTATS命令

db2 -v "select tbname,nleaf,nlevels,stats_time from sysibm.sysindexes"
[db2inst1@db22 adm]$ db2 get db cfg for sample | grep -i "heap"
 Sort heap thres for shared sorts (4KB) (SHEAPTHRES_SHR) = AUTOMATIC(5000)
 Sort list heap (4KB)                         (SORTHEAP) = AUTOMATIC(256)
 Database heap (4KB)                            (DBHEAP) = AUTOMATIC(2002)
 Utilities heap size (4KB)                (UTIL_HEAP_SZ) = AUTOMATIC(5000)
 SQL statement heap (4KB)                     (STMTHEAP) = AUTOMATIC(8192)
 Default application heap (4KB)             (APPLHEAPSZ) = AUTOMATIC(256)
 Statistics heap size (4KB)               (STAT_HEAP_SZ) = AUTOMATIC(4384)
[db2inst1@db22 adm]$ db2 get dbm cfg | grep -i "heap"
 Database monitor heap size (4KB)          (MON_HEAP_SZ) = AUTOMATIC(90)
 Java Virtual Machine heap size (4KB)     (JAVA_HEAP_SZ) = 2048
 Sort heap threshold (4KB)                  (SHEAPTHRES) = 0
 Application support layer heap size (4KB)   (ASLHEAPSZ) = 15
相关文章
|
1月前
|
Oracle 关系型数据库 数据库
|
3月前
|
NoSQL Java 关系型数据库
基于Java swing和mysql实现的学生选课管理系统(源码+数据库+运行指导视频)
基于Java swing和mysql实现的学生选课管理系统(源码+数据库+运行指导视频)
|
3月前
|
Java 关系型数据库 MySQL
基于java swing和mysql实现的仓库商品管理系统(源码+数据库+运行指导视频)
基于java swing和mysql实现的仓库商品管理系统(源码+数据库+运行指导视频)
|
3月前
|
NoSQL Java 关系型数据库
基于java swing和mysql实现的汽车租赁管理系统(源码+数据库+文档+运行指导视频)
基于java swing和mysql实现的汽车租赁管理系统(源码+数据库+文档+运行指导视频)
|
3月前
|
NoSQL Java 关系型数据库
基于Java swing和mysql实现酒店管理系统(源码+数据库+运行指导视频+系统用户使用手册+系统PPT+数据库设计说明书+系统概要说明书+需求说明书+详细说明书)
基于Java swing和mysql实现酒店管理系统(源码+数据库+运行指导视频+系统用户使用手册+系统PPT+数据库设计说明书+系统概要说明书+需求说明书+详细说明书)
|
3月前
|
前端开发 IDE Java
基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
164 0
|
1月前
|
SQL 编解码 数据库
MyKtv点歌系统前台主要功能实现,内附数据库脚本,可以直接运行
MyKtv点歌系统前台主要功能实现,内附数据库脚本,可以直接运行
12 1
MyKtv点歌系统前台主要功能实现,内附数据库脚本,可以直接运行
|
1月前
|
Java 数据库连接 数据库
解决docker中运行的jar包连不上数据库
解决docker中运行的jar包连不上数据库
|
2月前
|
Kubernetes 关系型数据库 数据库
运行在容器中 Postgres 数据库数据损坏后如何恢复?
运行在容器中 Postgres 数据库数据损坏后如何恢复?
|
3月前
|
前端开发 Java 数据库连接
基于SpringBoot+Thymeleaf+Mybatis实现大学生创新创业管理系统(源码+数据库+项目运行指导文档)
基于SpringBoot+Thymeleaf+Mybatis实现大学生创新创业管理系统(源码+数据库+项目运行指导文档)