菜鸟提问:我现在有个系统每天可能最多的一个表要入库20万条纪录,该怎么处理呢? 建个临时表啊,可以一个月或者一天进行入库,查寻临时表不就可以了或者在oracle中要索引要快的多 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 TO :welyngj(平平淡淡)如果一个表每天有70-80M的数据。一个月那表空间就用了18XX.XXM这样的分区该怎么分好?一个星期一个区还是半个月一个区?表(Table1)结构: F1-VARCHAR2(20),F2-VARCHAR2(20),F3-DATE,F4-NUMBER,F5-NUMBER,F6-VARCHAR2....大概12个字段左右.还有个问题是分区表的索引问题,如果那个表必须要有一个唯一性的索引(F2,F3)现在分区是已F3日期字段分区,建立索引是否是这样:假设分区是一个月一个分区假设现在才开始建表,并且表分配了三个分区(cm200401,cm200402,cm200403)。create UNIQUE index pk_Table1 on Table1 (F3,F1)local( partition cm200401, partition cm200402, partition cm200403);我在测试中发现,不知道ORACLE为什么要这样做。如果现在我不需要200401月的数据,我把分区cm200401 DROP掉了。并且也把分区对应的表空间删除掉了,因为硬盘不大!!!!现在发现突然又需要那些数据,所以就想把分区cm200401导进去。正常步骤是先建立表空间,再为表添加分区:alter table add partition cm200401 values less than (to_date('2004-02-01','yyyy-mm-dd'))tablespace cm200401 storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0); 这个时候出现了错误,说条件必须大于最高值,意思不能建立小于2004-04-01日分区条件的分区。为什么要这样啊~我知道假设我不建立这个分区,数据是可以导进去,是放在cm200402分区中,但是我不想把这二个放在一起,那应该怎么办?方法我知道一个可以解决,我们删除分区最终是为了释放出硬盘空间,如果我们在truncate分区后,不删除分区,而是把分区对应的表空间减小到1M(一个分区对应一个表空间),当要导数据的时候再加回来,这样也可以的达到释放硬盘的目的,但是如果不小心把分区删掉了,就不知道怎么办了,不过这样久了会产生很多的数据文件。 我想,INSERT的操作不会慢,就是查询的时候如果使用索引不当,可就知道结果了。这要看你操作数据库的SQL语句的合理性,和使用索引的合理。。 ORACLE dbf文件提示损坏,怎么恢复数据 急需一个触发器!!!! 关于小型机心跳线的问题 关于游标打开问题 ed 的问题 急急急,在线等待,一个oracle的sql语句 redhat linux 9下安装oracle 8.1.7成功! 一个嵌套循环! 请为函数加几分钟,或加几小时的是什么? oracle 带有括号的字段怎么查? 新手提问,我安装好oracle817客户端后,怎样配置net assistant 连接到oracle服务器? oracle9i恢复,急,在线等
如果一个表每天有70-80M的数据。一个月那表空间就用了18XX.XXM这样的分区该怎么分好?一个星期一个区还是半个月一个区?
表(Table1)结构: F1-VARCHAR2(20),F2-VARCHAR2(20),F3-DATE,F4-NUMBER,F5-NUMBER,F6-VARCHAR2....大概12个字段左右.
还有个问题是分区表的索引问题,如果那个表必须要有一个唯一性的索引(F2,F3)现在分区是已F3日期字段分区,建立索引是否是这样:假设分区是一个月一个分区假设现在才开始建表,并且表分配了三个分区(cm200401,cm200402,cm200403)。
create UNIQUE index pk_Table1
on Table1 (F3,F1)
local
(
partition cm200401,
partition cm200402,
partition cm200403
);
我在测试中发现,不知道ORACLE为什么要这样做。如果现在我不需要200401月的数据,我把分区cm200401 DROP掉了。并且也把分区对应的表空间删除掉了,因为硬盘不大!!!!现在发现突然又需要那些数据,所以就想把分区cm200401导进去。
正常步骤是先建立表空间,再为表添加分区:
alter table add partition cm200401 values less than (to_date('2004-02-01','yyyy-mm-dd'))
tablespace cm200401 storage(initial 100k next 100k minextents 1 maxextents unlimited pctincrease 0);
这个时候出现了错误,说条件必须大于最高值,意思不能建立小于2004-04-01日分区条件的分区。为什么要这样啊~我知道假设我不建立这个分区,数据是可以导进去,是放在cm200402分区中,但是我不想把这二个放在一起,那应该怎么办?
方法我知道一个可以解决,我们删除分区最终是为了释放出硬盘空间,如果我们在truncate分区后,不删除分区,而是把分区对应的表空间减小到1M(一个分区对应一个表空间),当要导数据的时候再加回来,这样也可以的达到释放硬盘的目的,但是如果不小心把分区删掉了,就不知道怎么办了,不过这样久了会产生很多的数据文件。
索引不当,可就知道结果了。这要看你操作数据库的SQL语句的合理性,和使用索引的合理。。