易截截图软件、单文件、免安装、纯绿色、仅160KB

oracle的分区表、分区索引和全局索引部分总结


分区表、分区索引和全局索引:
在一个表的数据超过过2000万条或占用2G空间时,建议建立分区表。
create table ta(c1 int,c2 varchar2(16),c3 varchar2(64),c4 int constraint pk_ta primary key (c1)) partition by range(c1)(partition p1 values less than (10000000),partition p2 values less than (20000000),partition p3 values less than (30000000),partition p4 values less than (maxvalue));
增加分区,删除分区
alter table ta add partition p_xx values less than (90000000000);
alter table ta drop partition p_xx [update global indexes] ;
create table AAA
(
ID        NUMBER not null,
AREAID    VARCHAR2(128),  
VCHAR6    VARCHAR2(300)
) partition by list (vchar6)

partition p_0 values (default), --在建list分区表时候要指定落不到其他分区的数据
partition p_1 values ('1','2','3'),
partition p_2 values ('4,5,6,7,8,9,10')
);
分区索引和全局索引:
分区索引就是在所有每个区上单独创建索引,它能自动维护,在drop或truncate某个分区时不影响该索引的其他分区索引的使用,也就是索引不会失效,维护起来比较方便,但是在查询性能稍微有点影响。
create index idx_ta_c2 on ta(c2) local (partition p1,partition p2,partition p3,partition p4);
或者 create index idx_ta_c2 on ta(c2) local ;
另外在create unique index idx_ta_c2 on ta(c2) local ;系统会报ORA-14039错误,这是因为ta表的分区列是c1,不支持在分区表上创建PK主键或时主键列不包含分区列,创建唯一约束也不可以这样。 oracle
全局索引就是在全表上创建索引,它可以创建自己的分区,可以和分区表的分区不一样,也就是它是独立的索引。
在drop或truncate某个分区时需要创建索引alter index idx_xx rebuild,也可以通过alter table table_name drop partition partition_name update global indexes;实现,但是如果数据量很大则要花很长时间在重建索引上。
可以通过查询user_indexes、user_part_indexes和user_ind_partitions视图来查看索引是否有效。
create index idx_ta_c3 on ta(c3);
或者把全局索引分成多个区(注意和分区表的分区不一样):
create index idx_ta_c4 on ta(c4) global partition by range(c4)(parti


相关文档:

手工配置Oracle 10G Enterprise Manage

手工配置Oracle 10G Enterprise Manage
最近在学习安装数据库的时候,用了多种方法创建,如dbca创建,手工创建,用模版创建等等,当用dbca创建数据库的时候,没有选择“使用Enterprise Manager配置数据库”,造成后来想用em不能使用,必需用到手工配置em才能使用,下面就介绍两种单实例环境实下em配制。
第一种 ......

oracle命令 收藏

  oracle命令 收藏
1. ORACLE数据库启动与关闭
1.1 打开和关闭数据库 (手工)
1.1.1 sqlplus连接
  #su - oracle
#sqlplus  /nolog
1.1.2 打开数据库
sql> connect sys/oracle as sysdba;
  sql> startup [nomount|mount]
等待十几秒左右,当看到
oracle instances started,
databa ......

查看oracle版本命令

1  查看oracle的版本信息
(1)用客户端连接到数据库,执行select * from v$instance
            查看version项
(2)select * from product_component_version
(3)或查询V$VERSION查看组件级信息 ......

Oracle Database 的学习笔记

SQL:结构化查询语言
C R U D: 增删改查
table :  name  age  score
desc+表名    ---> 查询表结构
或者用 describe 命令 (desc是describe的简写)
查询语言:SELECT [DISTINCT] {*,column[alias],...} from table;
  SELECT identifies what columns from identifies which tab ......

Oracle权限集合

  alter any cluster 修改任意簇的权限
  alter any index 修改任意索引的权限
  alter any role 修改任意角色的权限
  alter any sequence 修改任意序列的权限
  alter any snapshot 修改任意快照的权限
  alter any table 修改任意表的权限
  alter any trigger 修改任意触发器的权限
  alter clu ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号