DB2数据库性能调整的命令介绍
创始人
2024-07-11 15:11:50
0

数据库的性能是我们重点考虑的因素,如何才能调整数据库的性能,成为了大家热议的话题,本文将为您介绍DB2数据库的性能调整命令,供您参考,希望能对您有所帮助。

IBM DB2数据库性能调整命令:

查看执行计划:

db2expln:

db2expln -d dbname -c pkgOwner -p pkgNmae -o expln.out

dynexpln:

dynexpln -d eos -q "select * from eosmenu" -g -t

dynexpln -d eos -f query.sql -o out.txt

更新统计信息:

runstats:

db2 runstats on table songxn.eosmenu and indexs songxn.ix1,songxn.ix2 allow read access

db2 runstats on table songxn.eosmenu with distribution and detailed index all

调整优化等级:

(0,1,2,3,5,7,9):#p#

更改DFT_QUERYOPT(db cfg), 默认为5

SQL:set current query optimization = 3

索引:

建立索引:

create unique index ind1 on vicky.staff ( dept, lastname )

create unique index ind2 on vicky.emplyee ( empno ) include ( lastname, salary)

include中的字段不列入排序范围

丛集索引:

记录与索引的顺序一致

cretae index ind3 on vicky.staff ( dept ) CLUSTER

SCAN MODE:#p#

Index Scan,Full Index Scan(Index only Access),Relation Scan

查询索引:

select indname from syscat.indexes where tabname='customer'

索引建议器:

db2advis -d dbname -i query.sql | -s "sql stmt" -o advis.out

在数据页中预留空间:

alter table vicky.staff PCTFREE 30(预留30%)

load from staff.ixf of ixf modified by pagefreespace=30 replace into vicky.staff

缓冲池与IO

默认为IBMDEFAULTBP

新建缓冲池:

db2 create bufferpool bpname size 1000 pagesize 4k

alter tablespace tbname bufferpool bpname

当脏页超过CHNGPGS_THRESH(%,db cfg)时,缓冲池将被清空并写回

延展缓冲池:#p#

ESTORE_SEG_SZ& NUM_ESTORE_SEGS(db cfg)

db2 alter bufferpool ibmdefaultbp [ not ] extended storage

I/O SERVER:

NUM_IOSERVERS(db cfg):一般为磁盘数+2

数据重整:

REORGCHK:

db2 reorgchk update statistics on table all 该语句也用来对所有表做RUNSTATS

db2 reorgchk current statistics on table vicky.staff

table statistics:

CARD:记录笔数

OV(ERFLOW):overflow的记录数

NP(AGES):含有记录的页数

FP(AGES):表格占用的总页数

TSIZE(Bytes):表格大小#p#

index statistics:

LEAF:leaf page数

ELEAF:空叶数

NDEL:被删除的RID数

LVLS:索引层级数

ISIZE:索引平均长度

KEYS:不同的索引值的个数

表格重整:

db2 reorg table vicky.staff index ind1 use tempspace2 indexscan

索引重整:

db2 reorg indexes all for table vicky.staff _options_

options:allow read|write|no access, cleanup only pages|all(不重建索引结构,只回收空索引页)

联机表格重整(V8+):

db2 reorg table vicky.staff index vicky.ind2 inplace allow write access

db2 reorg table vicky.staff index vicky.ind2 inplace pause|resume

db2 list history reorg all for dbname#p#

MQT

MQT:

建立MQT:

CREATE TABLE vicky.mqt1 AS

( SELECT name, location, salary

FROM vicky.staff, vicky.org

WHERE staff.dept=org.deptnumb AND salary>20000

) DATA INITIALLY DEFERRED REFRESH DEFERRED|IMMEDIATE

ENABLE|DISABLE QUERY OPTIMIZATION

REFRESH TABLE vicky.mqt1

利用MQT:

RUNSTATS ON TABLE vicky.mqt1

UPDATE DB CFG FOR sample USING DFT_REFRESH_AGE ANY

并行处理

设置并行处理:#p#

UPDATE DBM CFG USING INTRA_PARALLEL YES

UPDATE DB CFG FOR EOS USING DFT_DEGREE ANY

并行处理上限:

应用级:

SET RUNTIME DEGREE FOR ( 25 ) TO 4

SET RUNTIME DEGREE FOR ALL TO 6

实例级:

UPDATE DBM CFG USING MAX_QUERYDEGREE 6

MDC表:

CREATE TABLE vicky.sales

( YearAndMonth CHAR(4),

Region CHAR(20),

Product CHAR(2),#p#

Sales BIGINT

) ORGANIZE BY DIMENSIONS ( YearAndMonth, Region )

CREATE TABLE vicky.table1

( col1 CHAR(10),

col2 CHAR(10),

col3 CHAR(10),

col4 INTEGER,

col5 DECIMAL(10,2),

) ORGANIZE BY DIMENSIONS ( col1, ( col2, col3 ),col4 )
 

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
粉嫩如何诠释霸道 东芝M805... “霸道粉”是个什么玩意东芝M805拿过来的时候,笔者扑哧笑了,不是笑这款笔记本,而是笑这款产品的颜色...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
全面诠释网络负载均衡 负载均衡的出现大大缓解了服务器的压力,更是有效的利用了资源,提高了效率。那么我们现在来说一下网络负载...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
30分钟搞定iOS自定义相机 最近公司的项目中用到了相机,由于不用系统的相机,UI给的相机切图,必须自定义才可以。就花时间简单研究...
Intel将Moblin社区控... 本周二,非营利机构Linux基金会宣布,他们将担负起Moblin社区的管理工作,而这之前,Mobli...