11g中的分区表及分区索引

本文介绍了Oracle 11g中如何创建分区表,特别是使用`INTERVAL`自动创建新分区的方法。同时,讨论了行移动的概念,并展示了启用行移动后更新分区列的效果。接着,讨论了在分区表上创建本地和全局索引的差异,包括分区索引如何根据分区存储数据,以及全局非分区索引在查询多个分区数据时的作用。最后,通过实例探讨了全局非分区索引在分区表中维护的特性。
摘要由CSDN通过智能技术生成

在创建分区表的时候,可以指定是否启用行移动,就是分区键在更新的时候,数据是否迁移到新的分区,默认的情况下是不启用的。在创建范围分区的时候,可以使用interval来自动创建新分区,分区字段必须是整形或日期。

CREATE TABLE customers_demo (
customer_id number(6),
cust_first_name varchar2(20),
cust_last_name varchar2(20),
credit_limit number(9,2))
PARTITION BY RANGE (credit_limit)
INTERVAL (1000)
(PARTITION p1 VALUES LESS THAN (5001));

SQL> insert into customers_demo values(1,'bai','xiaoyu',100);

已创建 1 行。

SQL> commit;

提交完成。

SQL> insert into customers_demo values(1,'bai','xiaoyu',1200);

已创建 1 行。

SQL> insert into customers_demo values(1,'bai','xiaoyu',5000);

已创建 1 行。

SQL> insert into customers_demo values(1,'bai','xiaoyu',5001);

已创建 1 行。

SQL> insert into customers_demo values(1,'bai','xiaoyu',5002);

已创建 1 行。

SQL> commit;
SQL> select table_name,partition_name,tablespace_name,interval,segment_created from user_tab_partitions where table_name=upper('customers_demo');


TABLE_NAME           PARTITION_NAME       TABLESPACE_NAME      INT SEG
-------------------- -------------------- -------------------- --- ---
CUSTOMERS_DEMO       P1                   SYSTEM               NO  YES
CUSTOMERS_DEMO       SYS_P21              SYSTEM               YES YES

SQL> select * from customers_demo partition(p1);

CUSTOMER_ID CUST_FIRST_NAME      CUST_LAST_NAME       CREDIT_LIMIT
----------- -------------------- -------------------- ------------
          1 bai                  xiaoyu                        100
          1 bai                  xiaoyu                       1200
          1 bai                  xiaoyu                       5000

SQL> select * from customers_demo partition(SYS_P21);

CUSTOMER_ID CUST_FIRST_NAME      CUST_LAST_NAME       CREDIT_LIMIT
----------- -------------------- -------------------- ------------
          1 bai                  xiaoyu                       5001
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值