关于oracle分区

[复制链接]
查看11 | 回复9 | 2012-5-21 10:19:41 | 显示全部楼层 |阅读模式
我有一个表,每时都会产生记录,我想针对这个表进行分区:
表结构: log_tab (log_ind, col1, col2, ..., log_date)
想法如下:1. 对岸log_date进行分区,

2. 每天做个分区
问题:1. 如何做分区
2, 是否每个分区都需要表空间
3. 查询时需要写分区名称么?
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
1你说的每天是指多年的1天(如1月1日)共用1个分区还是用不同的分区?
2需要,当没有指定,用用户默认的
3看情况
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
发表于 2009-9-15 12:27
1你说的每天是指多年的1天(如1月1日)共用1个分区还是用不同的分区?
2需要,当没有指定,用用户默认的
3看情况
re: 1. 每年的某一天,一年可以有板有365个分区
2. 每个分区如用默认的,是都在一个分区么? 是否会影响性能
3.3看情况,能具些么? oracle不会动态自己找么?
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
http://www.itpub.net/996554.html
供参考
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
原帖由 wxdlsj 于 2009-9-15 13:03 发表
发表于 2009-9-15 12:27
1你说的每天是指多年的1天(如1月1日)共用1个分区还是用不同的分区?
2需要,当没有指定,用用户默认的
3看情况
re: 1. 每年的某一天,一年可以有板有365个分区
2. 每个分区如用默认的,是都在一个分区么? 是否会影响性能
3.3看情况,能具些么? oracle不会动态自己找么?


re: 1. 有多少数据量?如果不多,建议按月分区;
2. 同一个表空间会有少量的IO影响,影响不大;
3. 根据你的查询条件,oracle会自动做partition prune,当然你也可以通过select * from t1 partition (part1) 这种方式的查询来做。
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
create table log_tab (
log_ind NUMBER,
col1 NUMBER,
...
log_date DATE)
PARTITION BY RANGE(sales_date)
(
PARTITION log_date1 VALUES LESS THAN(TO_DATE('01','DD')),
PARTITION log_date2 VALUES LESS THAN(TO_DATE('02','DD')),
...
PARTITION log_date2 VALUES LESS THAN(TO_DATE('12','DD'))
);
上面以天作为分区,如何以一年中的每天进行分区?
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
建议你创建一张表,把每天的date 转为所对应的date_id, 然后用date_id来作为分区的上限。
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
ERROR at line 26:
ORA-14120: incompletely specified partition bound for a DATE column
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
SQL> create table t1(d1 date,v1 varchar(10)) partition by range(d1)
2(partition p1 values less than (date'2009-1-1'),
3 partition p2 values less than (date'2009-1-2'),
4 partition pp values less than (maxvalue));
Table created.


SQL> create table t2(d1 date,v1 varchar(10)) partition by list(d1)
2(partition p1 values (date'2009-1-1'),
3 partition p2 values (date'2009-1-2')
4);
Table created.
回复

使用道具 举报

千问 | 2012-5-21 10:19:41 | 显示全部楼层
11g才开始支持虚拟列分区,以前版本都必须是物理列
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行