接上面一篇,发现按照上面水平拆表把表按照年存储到每个分区表中。由于业务推广后按照年分表数据量还是很大。那么我们考虑能不能再年表中在进行拆分。
下面介绍一下拆分步骤。
原表结构(只看分区情况):
从上面图我们可以看出如WLKP_FP_DATA_2012 分区存储在表空间WLKP_FP_DATA_2012里面
那么时间过半了我们统计半年数据发现WLKP_FP_DATA_2012 分区表数据也很多
我们考虑将WLKP_FP_DATA_2012 按照季度拆分
alter table WLKP_FP_KJ split partition WLKP_FP_DATA_2012 at (to_date('2012-04-01','yyyy-mm-dd')) into (partition WLKP_FP_DATA_2012_1,partition WLKP_FP_DATA_2012);
alter table WLKP_FP_KJ split partition WLKP_FP_DATA_2012 at (to_date('2012-07-01','yyyy-mm-dd')) into (partition WLKP_FP_DATA_2012_2,partition WLKP_FP_DATA_2012);
alter table WLKP_FP_KJ split partition WLKP_FP_DATA_2012 at (to_date('2012-10-01','yyyy-mm-dd')) into (partition WLKP_FP_DATA_2012_3,partition WLKP_FP_DATA_2012);
alter table WLKP_FP_KJ split partition WLKP_FP_DATA_2012 at (to_date('2012-12-31','yyyy-mm-dd')) into (partition WLKP_FP_DATA_2012_4,partition WLKP_FP_DATA_2012);
执行以上语句将WLKP_FP_DATA_2012 按照季度拆分四个子分区表中WLKP_FP_DATA_2012_1、WLKP_FP_DATA_2012_2、WLKP_FP_DATA_2012_3、WLKP_FP_DATA_2012_4
注:最后一个分区时间为什么是2012-12-31呢因为上面拆分WLKP_FP_DATA_2012整年的截止时间是2013-01-01
如果时间是2013-01-01会报错
拆分后的分区如下:
和上面对比我可以看到我们将WLKP_FP_DATA_2012 按照季度拆分出子的分区表,注意以上还是在当前WLKP_FP_DATA_2012表空间下面拆分的
通过上面截图我们看到该分区表只扩展到2013年,那么2014年呢2015年呢我们怎么办呢?
我们同样可以扩展。
1.新建2014年、2015年表空间
CREATE TABLESPACE "WLKP_FP_DATA_2014"
LOGGING
DATAFILE 'E:\oracle\product\10.2.0\oradata\wlkp\WLKP_FP_DATA_2014.ORA'
SIZE 5M REUSE AUTOEXTEND
ON NEXT 1024K MAXSIZE 32767M EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO ;
commit;
CREATE TABLESPACE "WLKP_FP_DATA_2015"
LOGGING
DATAFILE 'E:\oracle\product\10.2.0\oradata\wlkp\WLKP_FP_DATA_2015.ORA'
SIZE 5M REUSE AUTOEXTEND
ON NEXT 1024K MAXSIZE 32767M EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO ;
commit;
2.执行如下修改表结构语句
alter table WLKP_FP_KJ split partition WLKP_FP_DATA_MAXVALUE at (to_date('2015-01-01','yyyy-mm-dd')) into (partition WLKP_FP_DATA_2014 tablespace WLKP_FP_DATA_2014,partition WLKP_FP_DATA_MAXVALUE);
alter table WLKP_FP_KJ split partition WLKP_FP_DATA_MAXVALUE at (to_date('2016-01-01','yyyy-mm-dd')) into (partition WLKP_FP_DATA_2015 tablespace WLKP_FP_DATA_2015,partition WLKP_FP_DATA_MAXVALUE);
3.查看新生成表结构
我们可以通过以上截图看到新扩展的2014、2015年分区表建立成功同时2014、2015建立到另外的表空间了见绿色部分
通过以上步骤我们重新现有表再进行拆分。
注:通过以上步骤执行后表中的索引要重新建立否则以前老的索引要失效的
重新建立表WLKP_FP_KJ索引
alter index PK_WLKP_FP_FPHM unusable
alter index PK_WLKP_FP_FPHM rebuild tablespace WLKPTABLE;
alter index PK_WLKP_FP_NSRSBH_NEW unusable
alter index PK_WLKP_FP_NSRSBH_NEW rebuild tablespace WLKPTABLE;
alter index PK_WLKP_FP_SWJG_DM_NEW unusable
alter index PK_WLKP_FP_SWJG_DM_NEW rebuild tablespace WLKPTABLE;
alter index SYS_C005998 unusable
alter index SYS_C005998 rebuild tablespace WLKPTABLE;
下面我们造一条记录验证是否插入到指定的表分区 中
输入SQL 查询
select count(*) from WLKP_FP_KJ partition(WLKP_FP_DATA_2012);
查询到数据,说明我们分区表建立成功。
- 大小: 22.4 KB
- 大小: 10 KB
- 大小: 44.5 KB
- 大小: 51.7 KB
- 大小: 9.1 KB
分享到:
相关推荐
在分布式架构中,MySQL 通过数据拆分(Sharding)技术可以有效地处理海量数据,并实现水平扩展,适用于读写分离和高并发场景。而Oracle 通常用于保存核心数据,提供稳定、可靠的服务,尤其在需要强一致性和高可用性...
通过垂直拆分和水平拆分,同时进行机房扩容和硬件更新,实现了数据的灵活扩容缩容,以支撑巨大的业务需求。此外,通过采用自主开发的技术和廉价硬件来降低成本,支付宝成功实现了去IOE(IBM小型机、Oracle数据库、...
3. **分片表**:大数据量的表通过分片策略被拆分为多个小表,每个分片包含部分数据,所有分片合起来构成完整数据。 4. **非分片表**:不是所有表都需要分片,非分片表是指那些不需要进行数据切分、可以独立存储在...
水平拆分则是将一个表的数据按照某种规则拆分成多个表,并且这些表可以分布到不同的数据库中,以应对数据量过大的问题。垂直和水平拆分结合使用,可以很好地实现分库分表的需求。 除了上述主要功能外,Mycat还提供...
垂直分片则可能涉及根据业务需求将数据表拆分为更小的部分,分别存储在不同的服务器上,以提高查询效率。 尽管MySQL在某些方面(如双机备份和高端存储I/O能力)不如Oracle,淘宝的团队成功地解决了这些问题,例如...
垂直分片是将全局关系属性集分成若干子集,并对这些子集进行投影运算,而水平分片是按条件将全局关系的所有元组划分为不相交的子集。然而,市场上的商业分布式数据库如Oracle、DB2价格昂贵,多数企业仅将它们用于...
一个系统可能需要在不进行额外的数据存储调整或拆分的情况下,支持三年内数据量的持续增长,同时确保数据库的可用性达到99.99%,并能在短时间内完成数据备份、故障切换和恢复,以满足严格的业务SLA(服务水平协议)...
此外,AliSQL提供了TABLE/INDEX STATISTICS功能,帮助用户分析核心业务的读写比例,判断是否适合进行读写分离或水平拆分。同时,它还能统计索引使用情况,帮助识别和删除未使用的无效索引。另外,AliSQL的Persistent...
- **分模块实现**:将系统拆分成多个模块,如登录模块、试题库模块、考试模块、评分模块等,逐一实现并集成。每个模块的实现方法可能涉及前端界面的创建、后端接口的设计和数据库操作的编写。 在实际开发过程中,...
选择合适的工具应根据具体项目需求、团队技能水平以及已有技术栈等因素来决定。例如,如果需要高度灵活的数据源连接和支持,那么Sagent Data Flow可能是更好的选择;而如果更加关注操作系统的兼容性和性能,则可以...
- **数据库管理**:通常选用MySQL或Oracle等关系型数据库进行数据存储,用于高效管理和检索物业信息。 - **前端展示**:使用HTML、CSS和JavaScript构建用户友好的交互界面,可能还会引入Vue.js、React.js等现代...
分布式系统则通过拆分数据和计算任务,实现水平扩展,提高处理能力。 非关系型数据库分类 NoSQL 数据库通常分为四种类型: 1. 键值对存储(Key-Value Stores):如 Riak 和 Redis,以键作为唯一标识,支持快速...
2. 微服务架构:随着系统规模的扩大,可以考虑采用微服务架构,将各个功能模块拆分为独立的服务,提高系统的可扩展性和可维护性。 总之,Java以其卓越的技术特性和丰富的生态系统,为人力资源管理系统的开发提供了...
MyCat 的设计目标是实现数据的水平扩展,通过分库分表的方式,将单一的大数据库拆分为多个小数据库,从而提升系统的处理能力和可用性。 **Netty 5** 是一个高性能、异步事件驱动的网络应用程序框架,用于快速开发可...
- **数据库管理系统**:如MySQL、Oracle,存储和管理数据,支持高并发读写。 - **搜索引擎**:如Elasticsearch,用于全文搜索和数据分析。 - **微服务架构**:将大型应用拆分成小型、独立的服务,便于开发和维护...
5. **系统拆分**:根据业务特点进行水平或垂直拆分,提高系统的整体吞吐能力。 #### 六、总结 后端优化是一个复杂而持续的过程,涉及到软件架构设计、算法优化、硬件选型等多个方面。通过对系统进行全面的度量和...
- **微服务架构**:采用微服务架构可以将复杂的应用程序拆分成多个小型服务,每个服务都可以独立部署和扩展,提高了系统的灵活性和可维护性。 ### .Net 开发 .NET 是由微软开发的一个软件框架,旨在提供一个统一的...
- **Oracle Enterprise Stage**:连接Oracle数据库,执行SQL查询或过程。 - **Aggregator Stage**:聚集数据,计算统计指标如计数、求和等。 - **Remove Duplicates Stage**:去除重复记录,保持数据唯一性。 - **...