Oracle 10g创建分区表及索引化表
http://blog.sina.com.cn/s/blog_3fed8ad60100bydo.html
1、首先利用system帐户创建新的分区:
my_space1, my_space2(利用网页控制台创建表空间以及用代码创建)。
在实际工作中,不同的区可以位于不同的物理磁盘中,才有真正分区的效果。
然后:用scott帐户创建范围分区表:
create table t1(
id number(5) primary key,
name varchar2(8),
score number(3)
)
partition by range(score)
(
partition t1_p1 values less than (60) tablespace my_space1,
partition t1_p2 values less than (maxvalue) tablespace my_space2
);
Table created.
创建列表分区表:
create table t2(
id number(5) primary key,
name varchar2(8),
sex char(1)
)
partition by LIST(sex)
(
partition t2_male values ('M') tablespace my_space1,
partition t2_female values ('F') tablespace my_space2
);
Table created.
创建散列分区表:
create table t3(
id number,
name varchar2(10),
loc varchar2(13)
)
partition by hash(name)
(
partition my_space1,
partition my_space2
);
Table created.
混合分区(复合分区):
先列表分区(男→1,2,3,4区),再散列分区(4,5区平均分配)。
1、 索引化表
create table t2(
id number(5) primary key,
name varchar2(8),
score number(3)
)
organization index;
说明:根据主键顺序(也就是主键字段的索引顺序)存储数据。
适合主键不断增大的表,否则不宜用。
相关文档:
下面是用scott用户测试的。
如果不知道当前用户是什么用户,可以输入: show user ,这样它就显示出当前用户是什么用户了.
如果想编辑已经输入到sqlplus中的代码,可以输入“ed”,然后回车就能弹出一个记事本,记事本里面有上一步输入的代码,修改代码并保存后关闭记事本,最后在sqlplus中输入“/”并击回 ......
GROUPING函数可以接受一列,返回0或者1。如果列值为空,那么GROUPING()返回1;如果列值非空,那么返回0。GROUPING只能在使用ROLLUP或CUBE的查询中使用。当需要在返回空值的地方显示某个值时,GROUPING()就非常有用。
关于ROLLUP和CUBE函数的使用,请参见我的另一篇文章。
http://blog.csdn.net/wh62592855/archive/2009/1 ......
索引( Index )是常见的数据库对象,它的设置好坏、使用是否得当,极大地影响数据库应用程序和Database 的性能。虽然有许多资料讲索引的用法, DBA 和 Developer 们也经常与它打交道,但笔者发现, ......
问:什么是NULL?
答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零。
ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:
1、主键字段(primary key),
2、定义时已经加了NOT NULL限制条件的字段
说明:
1、等价于没有任何值、是未知数。
2 ......