自己整理的学习资料——DB2 V8数据库基础(十七)

3.2.4   缓冲池  

缓冲池用来进行表或索引的缓存,一个数据库至少要有一个缓冲池 ,缓冲池有4k8k16k32k 表空间的页面大小要和缓冲池保持一致,减少直接的I/O访问,提高I/O访问速度。默认的缓冲池为IBMDEFAuLTBP(4K)

 

CREATE  BUFFERPOOL

DROP  BUFFERPOOL

ALTER  BUFFERPOOL

 

 

CREATE BUFFERPOOL NMDB4K IMMEDIATE  SIZE 250 PAGESIZE 4 K ;

ALTER BUFFERPOOL IBMDEFAULTBP IMMEDIATE SIZE 50000;

 

 

列出缓冲池

SELECT * FROM SYSCAT.BUFFERPOOLS

 

3.2.5   索引:

创建索引:create [unique] index idxname on tabname(col.)

删除索引:drop index idxname

注:索引是不可更改的,想更改必须删除重新建。

3.2.6   视图:

创建视图:create view viewname as select statement

删除视图:drop view viewname

注:视图唯一能修改的是引用类型列,改变列的范围。其他定义好了都不能修改。当视图基于的基表drop后,视图变为无效。

 

列出用户下的所有视图

  Select  *  from  sysibm.sysviews  WHERE   CREATOR='USER'

  

3.3    DML数据库操纵语言

不隐式地提交当前事务 ,是否提交视环境设定而定。

 

l         SELECT:从表中查询符合数据

注:条件中连接的问题,避免出现笛卡儿乘积

l         DELETE:删除已有表的数据

l         UPDATE:更新已有表的数据

l         INSERT:向已有表中插入数据

注:DELETEUPDATEINSERT是否直接提交取决与执行语句所在的环境。

在执行时注意事务日志满的情况。

3.3.1   SELECT

select时,注意索引谓词和非索引谓词,尽量在有索引的列上使用索引谓词。

谓词类型                           可索引                

Colcon                                   Y                  ∝代表>,>=,=,<=,但是<>不是可索引的。

Col between con1 and con2         Y                  在匹配系列中必须是最后的。

Col in list                                   Y                  仅对一个匹配列

Col is null                                  Y

Col like xyz%                     Y                  模糊匹配%在后面。

Col like %xyz                     N                  模糊匹配%在前面。

Col1Col2                                N                  Col1col2来自同一个表

ColExpression                         N                  例如:c1c1+1/2

Pred1 and Pred2                          Y                  Pred1Pred2都是可索引的,

指相同索引的列

Pred1 or Pred2                           N                  除了(c1=a or c1=b)外,

他可以被认为是c1 inab

Not Pred1                                   N                  或者任何的等价形式:

Not between,Not in,Not like等等。

 

尽量不要使用<>,表达式,ornot,模糊匹配%尽量不要放前面

3.3.2   DELETE

语法格式:

DELETE FROM tablename WHERE (conditions)

3.3.3   INSERT

语法格式:

INSERT INTO tablename (col1,col2,…) VALUES (value1,value2,…);

INSERT INTO tablename (col1,col2,…) VALUES (value1, value2,…), (value1, value2,…),……

Insert不会等待任何程序,不会导致锁定。

 

INSERT INTO tablename (col1,col2,…)   select 语句

3.3.4   UPDATE

语法格式:

UPDATE tabname SET (col1=values1,col2=values2,…) WHERE (conditions);

注:update的速度比较慢,要在相应列上建立索引。  

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9524210/viewspace-471545/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9524210/viewspace-471545/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值