snrg.net
当前位置:首页 >> orAClE创建分区表 >>

orAClE创建分区表

给一个例子:create table T_S_SYS_LOG( LOG_MONTH VARCHAR2(6), ) partition by list (LOG_MONTH)( partition PRT_M_201309 values ('201309') tablespace TBS_LBI_SYS pctfree 10 initrans 1 maxtrans 255 storage ( initial 64K next 1M minextents 1 maxextents unlimited );

可以拼出sql的字符串后用动态sql执行不过11g有分区表自动增加分区的特性,这个更方便

表空间:是一个或多个数据文件的集合,所有的数据对象都存放在指定的表空间中,但主要存放的是表, 所以称作表空间.分区表: 当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区.表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表.对表进行分区 一般的权限就够了希望有所帮助

1. 建立每个分区都要使用values less than子句,用于指定分区的上限2. 除了第一个分区外,其他分区都有一个隐含的下限,那就是上一个分区的上限3. 可以使用maxvalue表示分区字段的可能最大值,它通常用在设置最后一个分区的上限.

创建一个分区表create table p_table(month varchar2(10),prov varchar2(10),cost_fee number)partition by range(month) --范围分区(partition p1 values less than ('201403'),partition p2 values less than ('201406'),partition p3 values less than ('201409'

1、一般分区表都会很大,所以可以先创建表空间,为了让分区表存放到单独的表空间,否则默认会存放到USERS表空间2、创建TABLESPACE TS1:CREATE TABLESPACE TS1 DATAFILE '/data1/oracle/test.dbf' SIZE 512M AUTOEXTEND ON

create table xxx(id number,time date) parttion by range(time)(partion part1 values less than (to_date('2012-01-31','yyyy-mm-dd')) tablespace tb1,partion part 2 vales less than(to_date('2012-01-31','yyyy-mm-dd')) tablespace tb2);

分区索引就是在所有每个分区上单独创建索引,它能自动维护,在drop或truncate某个分区时不影响该索引的其他分区索引的使用,也就是索引不会失效,维护起来比较方便,但是在查询性能稍微有点影响. 全局索引是在全表上创建索引,它可以创建自己的分区,可以和分区表的分区不一样,也就是它是独立的索引.在drop或truncate某个分区时需要重新建索引; 希望对你有帮助;另外具体问题具体分析楼上的回答.会误导别人的

先说无效月份的问题,是因为你to_date这个函数用法有误,你改成这样试试.to_date('20140304','YYYYMMDD')

partition by range(sage)(partition part1 values less than (20) tablespace example,partition part2 values less than (31) tablespace orcltbs1,partition part3 values less than (maxvalue) tablespace orcltbs2 storage(initial 10m next 20m))storage(initial 20

网站首页 | 网站地图
All rights reserved Powered by www.snrg.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com