关于数据库分区的问题?

[复制链接]
查看11 | 回复6 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
我现在运行着一个10G左右量的数据库,我想在不重新导入到处数据库的情况下,如何达到对表分区的目的?有没有这样的指令
请执教!
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
因为表分区是在物理存储上分开
而现在你的数据存储是混合在一起的
所以必然有一个重新插入的过程
突然想到的一点建议:
重新建一个表temp,分区
insert into temp as select * from xxx;
rename xxx to tempxxx;
rename temp to xxx;
成功检查无误后
drop table tempxxx;
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
还要重新建立索引。
提到索引我想问一下,分区表的索引需要进行分区吗?
如果需要,使用局部分区和全局分区哪个效果比较好?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
因为索引的结构特性决定其本身并不是顺序扫描的
如果不是索引特别大
必须分多个磁盘存储
并且利用i/o和cpu能力并行查询
否则局部索引恐怕带来的效益不是很大
但可以带来管理的灵活性(比如truncate局部索引)
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
谢谢BITI。


回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
用局部索引应当会减小索引树的深度吧?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
呵呵
如果分10个区
能减小深度为多少?呵呵

> 2^3
对一条记录的查询来说减少3-----4次扫描?
我没有这种经验值
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行