
Oracle的分区可以分为:列表分区、范围分区、散列分区、复合分区。
1、增强可用性:如果表的一个分区由于系统故障而不能使用,表的其余好的分区仍可以使用;
2、减少关闭时间:如果系统故障只影响表的一部分分区,那么只有这部分分区需要修复,可能比整个大表修复花的时间更少;
3、维护轻松:如果需要建表,独自管理每个公区比管理单个大表要轻松得多;
4、均衡I/O:可以把表的不同分区分配到不同的磁盘来平衡I/O改善性能;
5、改善性能:对大表的查询、增加、修改等 *** 作可以分解到表的不同分区来并行执行,可使运行速度更快;
6、分区对用户透明:最终用户感觉不到分区的存在。
首先,里边有数据不太好办,不过可以这样
create table T_BUSINESS_MONITOR_TMP as select from T_BUSINESS_MONITOR;
然后,把原表清空
truncate table T_BUSINESS_MONITOR;
然后加上分区
alter table T_BUSINESS_MONITOR add partition p201301 VALUES LESS THAN (TO_DATE(' 2013-02-01 00:00:00', 'SYYYY-MM-DD HH24:MI:SS', 'NLS_CALENDAR=GREGORIAN') tablespace 表空间名;
看好了,前边的分区名是201301,后边的to_date的日期是20130201,不要弄错了,当然,这个可以指定使用的表空间,
这样的话,你要按照此语句建12个分区,最后一个就应该是名字为p201312 ,时间就是2014-01-01,
然后,把你之前的表的数据弄过来
insert into T_BUSINESS_MONITOR select from T_BUSINESS_MONITOR_TMP;
commit;
最后把备份表删除
drop table T_BUSINESS_MONITOR_TMP
以上就是关于Oracle分区是怎样优化数据库的全部的内容,包括:Oracle分区是怎样优化数据库的、oracle建分区问题、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)