ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 自己整理的学习资料——DB2 V8数据库基础(十七)

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

原创 Linux操作系统 作者:rheet1978 时间:2008-10-17 12:45:49 0 删除 编辑

3.2.4   缓冲池  

缓冲池用来进行表或索引的缓存,一个数据库至少要有一个缓冲池 ,缓冲池有4k,8k,16k,32k; 表空间的页面大小要和缓冲池保持一致,减少直接的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:向已有表中插入数据

注:DELETE,UPDATE和INSERT是否直接提交取决与执行语句所在的环境。

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

3.3.1   SELECT

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

谓词类型                           可索引                 注 释

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

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

Col in list                                   Y                  仅对一个匹配列

Col is null                                  Y

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

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

Col1∝Col2                                N                  Col1和col2来自同一个表

Col∝Expression                         N                  例如:c1(c1+1)/2

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

指相同索引的列

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

他可以被认为是c1 in(a,b)

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

Not between,Not in,Not like等等。

 

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

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博客 ” ,链接:https://blog.itpub.net/9524210/viewspace-471545/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
暂无介绍

注册时间:2008-06-09

  • 博文量
    84
  • 访问量
    548249