赛迪网 > IT技术 数据库 > 精彩更新
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

讲解IBM DB2数据库性能调整的相关命令

发布时间:2008.05.08 04:59     来源:赛迪网    作者:廉子桥

【赛迪网-IT技术报道】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):

更改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:

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)时,缓冲池将被清空并写回

延展缓冲池:

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):表格大小

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

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

并行处理

设置并行处理:

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),

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 )

(责任编辑:卢兆林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Oracle数据库9i在AIX环境下的性能调整 (05-07) · Oracle数据库SQL语句性能调整的基本原则 (05-06)
· 锁现象通常分为死锁和锁等待两种情形 (04-24) · 实例讲解DB2数据库中SELECT语句高级用法 (04-22)
· 在DB2数据库中很难理解的catalog单词 (04-17) · 提高IMPORT的性能 (04-10)
· DB2 9.5的数据库内存保护 (04-10) · 用一个存储过程实现分步删除数据表记录 (04-09)
· 教你快速掌握DB2数据库创建外键时的选项 (04-06) · 存储课堂:DB2数据仓库系统下配置存储带宽 (03-26)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 工信部“三定”公布 总编制731名设24司局
· 北京发电子商务监管意见 营利性网店须办照
· 直播 08中国城市信息化高峰论坛 案例点评
· 烽火网络校园解决方案 移民安置信息管理系统
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统