oracle优化问题求助!

[复制链接]
查看11 | 回复9 | 2005-10-30 17:05:33 | 显示全部楼层 |阅读模式
oracle 9i有一个表里面数据太多了,几千万条。而且每天都有大概40万条新数据增加。
这个表做了INDEX和PARTION了,我现在想把比较旧的数据删除掉以增加查询速度。
是不是直接删除旧数据就可以了,要不要对索引和PARTION进行相关操作?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
what your point?
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
目的就是加快查询速度
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
用用ORACLE公司的porformance insght吧,我可以帮你!请和我联系!010-51527580--713
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
1. exp
2. truncate table
3. imp
4. rebuild index
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
表一直在使用中啊,这样做肯定会丢失部分数据的啊!
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
哦,即然已经做了分区,你这样做没有意义哦
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
最初由 xzh2000 发布
[B]哦,即然已经做了分区,你这样做没有意义哦 [/B]

是呀,如果使用了分区就没有必要删除分区的历史数据来增加查询速度了

如果你的查询用不到分区的话,到是可以通过删除历史数据来增加查询的速度了,但是如果是删除大量的历史数据,可能会消耗大量的资源,比如回滚段,日志什么的你可以用creata As select 的方法来删除历史数据
如:
create table test_temp tablespaceXXXXasselect* from testwhere 要保留的数据;
alter table test rename to test_temp1;
alter table test_temp to test;
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
把不要的分区数据交换出来呀
回复

使用道具 举报

千问 | 2005-10-30 17:05:33 | 显示全部楼层
把不要的分区数据交换出来,做的分区,交换出来也只是保留历史数据,你做的分区,查询在分区中查,为何还慢呢,不在分区中查又为何要做分区呢,
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行