首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Oracle 12c中使用分区年和子分区月创建表

在Oracle 12c中,使用分区年和子分区月创建表是一种数据管理技术,它可以将表数据按照年份和月份进行分区存储,以提高查询性能和数据管理效率。

分区是将表或索引逻辑上划分为多个部分,每个部分称为一个分区。在分区表中,每个分区都可以独立进行维护和查询,从而提高查询效率和数据管理的便利性。

使用分区年和子分区月创建表的优势包括:

  1. 提高查询性能:通过将数据按照年份和月份进行分区,可以针对特定的时间范围进行查询,减少了扫描的数据量,提高了查询效率。
  2. 简化数据管理:分区表可以根据时间范围进行自动维护,例如可以定期删除旧数据或将旧数据归档到其他存储介质,从而简化了数据管理的工作。
  3. 提高可用性:分区表可以进行在线重建和维护,而不会影响其他分区的查询和操作,从而提高了系统的可用性。
  4. 支持灵活的数据访问策略:可以根据业务需求选择不同的分区策略,例如按照年份和月份进行分区,也可以按照其他字段进行分区,以满足不同的数据访问需求。

在Oracle 12c中,可以使用以下语法来创建分区年和子分区月的表:

代码语言:txt
复制
CREATE TABLE table_name
(
    column1 data_type,
    column2 data_type,
    ...
)
PARTITION BY RANGE (extract(year from column_name))
SUBPARTITION BY RANGE (extract(month from column_name))
(
    PARTITION partition_name1 VALUES LESS THAN (year_value1)
    (
        SUBPARTITION subpartition_name1 VALUES LESS THAN (month_value1),
        SUBPARTITION subpartition_name2 VALUES LESS THAN (month_value2),
        ...
    ),
    PARTITION partition_name2 VALUES LESS THAN (year_value2)
    (
        SUBPARTITION subpartition_name3 VALUES LESS THAN (month_value3),
        SUBPARTITION subpartition_name4 VALUES LESS THAN (month_value4),
        ...
    ),
    ...
);

在上述语法中,table_name是要创建的表名,column1、column2等是表的列名和数据类型。通过PARTITION BY RANGE子句指定按照年份进行分区,通过SUBPARTITION BY RANGE子句指定按照月份进行子分区。每个分区和子分区都可以指定特定的值范围。

对于Oracle 12c中使用分区年和子分区月创建表的应用场景,可以适用于需要按照时间范围进行查询和管理的业务场景,例如日志记录、销售数据、交易数据等。

腾讯云提供了一系列与分区表相关的产品和服务,例如云数据库TDSQL、云原生数据库TDSQL-C、弹性MapReduce等,您可以通过访问腾讯云官方网站(https://cloud.tencent.com/)了解更多相关产品和详细信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Oracle 11g 分区创建(自动按、日分区

前言:工作中有一张会增长100多万的数据,量虽然不大,可是表字段多,所以一下来也会达到 1G,而且只增不改,故考虑使用分区来提高查询性能,提高维护性。...Oracle 11g 支持自动分区,不过得创建时就设置好分区。   如果已经存在的需要改分区,就需要将当前 rename后,再创建,然后复制数据到新,然后删除旧表就可以了。...4、便于维护,可扩展:11g 分区新特性:Partition(分区)一直是 Oracle 数据库引以为傲的一项技术,正是分区的存在让 Oracle 高效的处理海量数据成为可能, Oracle 11g...分区技术易用性可扩展性上再次得到了增强。   ...二、oracle 11g 如何按天、周、自动分区 2.1 按创建 numtoyminterval(1, 'year') --按创建分区 create table test_part (

3.3K10

我们为什么MySQL几乎不使用分区

Oracle使用分区是一种很自然的事情,数据库容量基本都是500G起,大小5T以上都是很常见的。...但是MySQL的使用,我们几乎不使用分区,今天有同学群里一起沟通,我就按照我的理解做了梳理。...整体来说从功能上来说,Oracle有的大部分功能在MySQL分区基本存在,包括一些分区的细粒度管理。 所以如果单纯从功能入手,确实难以找到很直接的理由来拒绝分区。...我觉得主要是使用模式的差异,我们不使用的主要原因是避免单库存储过大,而且分区变更相对会比较麻烦,MySQL侧,我们的目标是让数据库更小巧轻量一些,可能更偏TP一些,我们目前是排除了分区的设计,而且也明确写进了开发规范...这个问题我们调研过,目前来看,查询复杂度的一些变更业务基本都能够接受,而且风险覆盖度要小一些(程序侧也不能完全保证SQL一定好使不走全扫描)目前我们实现周期(日表,,周,年表,季的日表的自动扩展

1.6K50
  • Oracle-使用切片删除的方式清理非分区的超巨数据

    已经分区的前提下我们还可以利用并行或者truncate parition等手段来为UPDATE或者DELETE提速, 但是如果对象是普通的非分区对表(non-partitioned heap table...---- Step2.2: 连接数据库,获取分片 使用oracle用户登录主机,/oracle目录下通过sqlplus登录 如果数据量过大,可以分片多一些,少量多次删除 artisandb:[/oracle...通常可以SELECT INTO、FETCH INTO以及RETURNING INTO子句中使用BULK COLLECT 更多请参考 Oracle数据库之FORALL与BULK COLLECT语句...避免出现ORA-1555错误 该脚本目前存在一个不足,获取rowid分块时要求大上有适当的索引,否则可能会因为全扫描并排序而十分缓慢,若有恰当的索引则会使用INDEX FAST FULL SCAN...Oracle版本11.2引入了DBMS_PARALLEL_EXECUTE 的新特性来帮助更新超大

    1.4K20

    【DB笔试面试630】Oracle,怎样收集的统计信息?怎样收集分区的统计信息?

    ♣ 题目部分 Oracle,怎样收集的统计信息?怎样收集分区的统计信息?...DBMS_STATS.GATHER_TABLE_STATS(USER,'TB_NAME',PARTNAME=>'PT_PART_NAME',GRANULARITY=>'PARTITION',CASCADE=>TRUE);--针对分区的单个分区进行收集统计信息...DBMS_STATS.GATHER_DATABASE_STATS();--收集当前数据库下所有用户的统计信息 l EXEC DBMS_STATS.GATHER_SCHEMA_STATS(USER);--收集用户下所有对象的统计信息 当系统的分区数据量很大时...,如果每次都收集全部的分区必然会导致统计信息的收集非常慢,Oracle 11g之后可以通过设置INCREMENTAL来只针对数据有变动的分区做收集: EXEC DBMS_STATS.SET_TABLE_PREFS...'TABLE_NAME') FROM DUAL;--查看分区INCREMENTAL的值 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

    98630

    【DB笔试面试649】Oracle分区统计信息的更新机制是怎样的?

    ♣ 题目部分 Oracle分区统计信息的更新机制是怎样的?...♣ 答案部分 分区统计信息的更新机制如下所示: ① 当某个分区的数据变化达到10%,自动收集统计信息任务运行时,Oracle会更新该分区的统计信息。...② 当分区中所有分区数据变化量的总和达到分区总数据量的10%,Oracle会更新该分区的统计信息。...另外,需要注意的是,更新分区的统计信息时,10.2.0.5之前必须要扫描该所有的分区或整个的数据,而从10.2.0.5开始,可以设置分区按增量变化统计,只收集有数据变化的分区。...DUAL;--查看分区INCREMENTAL的值 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

    97910

    数据库技术通讯丨Oracle 12c因新特性引发异常Library Cache Lock等待

    目录 新闻:20205数据库流行度排行 聚焦:MySQL DBA必备:MySQL 5.7升级8.0过程 警示:Oracle 12.2因未修复Bug导致LCK进程hang数据库异常 经验:超融合硬件损坏导致...警示:Oracle 12c 因新特性引发异常library cache lock等待——李晴晴 ---- library cache lock等待事件是Oracle数据库较为常见的等待事件之一,之前的几次月刊...Oracle 12c版本,引入了一个新特性:分区全局索引异步维护,这个新特性是指:当分区分区新增、删除、合并或truncate分区操作时,为了保证全局索引的有效性,通过调度JOB ( SYS.PMO_DEFERRED_GIDX_MAINT_JOB...这个job 是Oracle 12C 的新特性----分区全局索引异步维护: 当分区分区新增、删除、合并或truncate分区操作时,为了保证全局索引的有效性,通过调度JOB ( SYS.PMO_DEFERRED_GIDX_MAINT_JOB...批量增加分区分区,避免触发系统维护索引job运行。 3. 可能的话,避免使用全局分区索引

    70020

    YH8:Oracle 12.2 New Online Feature

    Andrew 曾在一次演讲Oracle 12c 是这样定义的:向敏捷、弹性云三个方向上变革演进。12.2的发布让人眼前一亮,很多新特性让我们看到Oracle的创新力。...本文将介绍12.2一些重要的在线特性。在线功能的增强,很大程度上减少了操作的风险难度。...的在线移动 Oracle ADG上的列式存储支持 Oracle ADG上的列式存储支持Oracle ADG上的列式存储支持 的在线移动允许将从一个空间移到另一个空间,迁移的过程,可以正常地对表进行操作...的在线分区 对于一些较大的,或者数据增长较快的,可能在创建后并使用一段时间,需要对其进行分区管理,在线分区功能在分区期间,仍然可以对表进行正常的DML操作,同时进行 Local global索引维护...12c之前文件只能存在OnlineOffline两态,离线转移会不可避免造成业务的中断。 ?

    95140

    【DB笔试面试647】Oracle使用SPLIT来拆分某个分区的时候,其拆分出来的新分区的统计信息行数是多少?

    ♣ 题目部分 Oracle使用SPLIT来拆分某个分区的时候,其拆分出来的新分区的统计信息行数是多少? ♣ 答案部分 分区分裂时,新分区的统计信息会继承原分区的统计信息值。...若原分区的统计信息为空,则新分裂出来的分区统计信息也为空。所以,建议对SPLIT出来的新分区重新收集统计信息。...收集分区某个分区的SQL如下所示: DBMS_STATS.GATHER_TABLE_STATS(USER,'TB_NAME',PARTNAME=>'PT_PART_NAME',GRANULARITY=...>'PARTITION',CASCADE=>TRUE);--针对分区的单个分区进行收集统计信息 本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

    1.2K20

    Oracle Database 19c 的10大新特性早知道

    Oracle 19c 相当于 12.2.0.3 版本,是 Oracle 12c 的最终版,所以这一版本,不会有太多的新特性,更重要的是稳定性的增强,使得用户能够更多的迁移到12c这个主流版本。...(Table Family),家族之中的具备父-关系,一个家族没有任何父叫做根(root table),每个家族只能有一个根。...自动化还将删除由新创建的索引(逻辑合并)废弃的索引,并删除自动创建但长时间未使用的索引。...image.png 6.Oracle的混合分区支持 19c Oracle 增强了分区特性,可以将外部对象存储上的文件,以外部的方式链接到分区,形成混合分区,借助这个特性,Oracle...针对分区维护的操作,例如Truncate分区等,Oracle 将进行细粒度的控制,DDL操作无关的SQL将不受DDL失效影响。

    6.8K10

    快讯:Oracle 19c 新特性及官方文档抢鲜下载

    从文档标题看,定稿时间是20191,是发布版本。 ? 对照一下我以前发表的文章,Oracle 19c 的10大新特性,现在大家可以从文档中去找寻你感兴趣的文档了。...),家族之中的具备父-关系,一个家族没有任何父叫做根(root table),每个家族只能有一个根。...自动化还将删除由新创建的索引(逻辑合并)废弃的索引,并删除自动创建但长时间未使用的索引。 ?...6.Oracle的混合分区支持 19c Oracle 增强了分区特性,可以将外部对象存储上的文件,以外部的方式链接到分区,形成混合分区,借助这个特性,Oracle 将数据库内外整合打通,...7.在线维护操作增强 不同版本Oracle 持续增强在线维护操作,例如在 12.2 开始支持的Online Move、在线修改普通分区等特性。

    1.4K10

    Oracle 12cRMAN方面有哪些增强的新特性?

    今天小麦苗给大家分享的是Oracle 12cRMAN方面有哪些增强的新特性?。 Oracle 12cRMAN方面有哪些增强的新特性?...(二)可以直接在RMAN执行SQL语句 Oracle 12c,可以不需要SQL前缀的情况下在RMAN执行任何SQLPL/SQL命令。当然,原来的加SQL前缀的方式依然有效。...RMAN的分区级恢复可以使用在如下场景: ① 恢复小或数据库的某几张时,但发现使用Restore Database或Tablespace的代价很高而且效率很低。...4.创建包含恢复分区的数据泵文件(expdp dump file)。数据泵的名称位置也可以命令中指定。 5.(可选操作)将上一步生产的数据泵文件导入到目标实例。...(五)通过网络远程恢复数据库(Restore/Recover from Service) Oracle 12c,可以主数据库备用数据库之间用一个服务名重新获得或恢复数据文件、控制文件、参数文件(

    88420

    【DB笔试面试432】Oracle 12cRMAN方面有哪些增强的新特性?

    题目 Oracle 12cRMAN方面有哪些增强的新特性?...(二)可以直接在RMAN执行SQL语句 Oracle 12c,可以不需要SQL前缀的情况下在RMAN执行任何SQLPL/SQL命令。当然,原来的加SQL前缀的方式依然有效。...RMAN的分区级恢复可以使用在如下场景: ① 恢复小或数据库的某几张时,但发现使用Restore Database或Tablespace的代价很高而且效率很低。...4.创建包含恢复分区的数据泵文件(expdp dump file)。数据泵的名称位置也可以命令中指定。 5.(可选操作)将上一步生产的数据泵文件导入到目标实例。...(五)通过网络远程恢复数据库(Restore/Recover from Service) Oracle 12c,可以主数据库备用数据库之间用一个服务名重新获得或恢复数据文件、控制文件、参数文件(

    86720

    触类旁通:那些关于 TBL$OR$IDX$PART$NUM 的诡异案例知识

    如果子分区级别的查询剪裁执行时出现 ORA-604 / ORA-1008,那就可能这个BUG相关。...简单来说,就是Oracle分区级别执行查询分区剪裁时,调用的内部递归SQL,因为缺少变量传入而出错,其解决方案是,禁用查询谓词分区剪裁。...Pstart Pstop 执行了 分区剪裁,就是使用到了这个特性。...故事五:12c 的延迟索引维护特性 Oracle 12c ,有一个新特性被称为:延迟全局索引维护 - Delayed Global Index Maintenance 。...大家知道,分区,如果创建全局索引,当我们对分区进行删除、截断等操作时,全局索引会失效,除非增加关键字 UPDATE GLOBAL INDEXES 同时维护索引,但是增加这个关键字又可能导致分区维护过慢

    1.1K40

    HIVE基础命令Sqoop导入导出插入问题动态分区创建HIVE脚本筛选CSV的非文件行GROUP BYSqoop导出到MySQL字段类型问题WHERE查询CASE查询

    ; Hive 创建外部,仅记录数据所在的路径, 不对数据的位置做任何改变; 删除的时候,内部的元数据和数据会被一起删除, 而外部只删除元数据,不删除数据。...和数据导入相关 Hive数据导入表情况: load data时,如果加载的文件HDFS上,此文件会被移动到路径load data时,如果加载的文件本地,此文件会被复制到HDFS的路径...temp.source_sys_key = t0.source_sys_key AND temp.legal_company = t0.legal_company ) where temp.jobid = '106'; // 创建的时候通过从别的查询出相应的记录并插入到所创建...WHERE查询 hive查询会有各种问题,这里的解决方法是将查询改成JOIN的方式 先看一段MySQL的SQL,下不管这段SQL从哪来的,我也不知道从哪里来的 SELECT...CASE查询 这个与上面是一样的,都是改成JOIN的方式。

    15.4K20

    第四章 为IM 启用填充对象之为IM列存储启用ADO(IM 4.8)

    此部分包含以下主题: 关于ADO策略IM列存储 Oracle Database 12c第2版(12.2),ADO通过ADO策略管理IM列存储。...您只能在段级别创建具有INMEMORY 子句的ADO策略。 ADOIM列存储的目的 从Oracle Database 12c第2版(12.2)开始,ADO将IM列存储管理为新的数据层。...关于ADO策略IM列存储 Oracle Database 12c第2版(12.2),ADO通过ADO策略管理IM列存储。您只能在段级别创建具有INMEMORY 子句的ADO策略。...例如,如果每天向添加分区,则可以创建一个策略,创建后一天填充sales_2016_d100分区: ALTER TABLE sales MODIFY PARTITION sales_2016_d100...例如,如果特定sales分区上的报表频繁运行,但通常不是每周运行,则您可能希望一周没有访问后逐出该分区: ALTER TABLE sales MODIFY PARTITION sales_2015

    1.5K20

    知识&案例:并行并发统计信息收集

    并发收集统计信息时,数据库生成的JOB数会根据具体情况来分配,大多数情况下,DBMS_STATS 程序会给每个对象分配一个JOB;但如果对象(或者分区)的大小太小,为了节省资源,Oracle会合并多个分区一个...通过该例子我们可以看到,针对并发收集统计信息时会有不同层级的JOB, 对于分区除了一个协调JOB外还会针对各个分区分配1个JOB。 另外,如同前面所讲的,多个分区不能同时处理。...11.2.0.2~11.2.0.4的版本上,可以设置的值: ? 12c的版本上,可以设置以下的值: ?...并发并行执行统计信息收集组合 为了提高效率,可以使并发并行执行统计信息收集同时有效,这种组合使用对于非常大的分区非常有效。...当这些很小其他一些环境因素时,Oracle会合并多个分区一个JOB批量执行,就会产生统计信息收集时没有并发执行的表象。 我们可以通过跟踪dbms_stats可以查看到相关的一些内容。

    1.1K40

    性能为王:SQL标量子查询的优化案例分析

    FROM后对一个分区的一个分区执行全分区扫描。 下面来看看这个SQL每次执行消耗的物理读与逻辑读。...远远大于SQL访问的占用的物理大小。所以初步判断执行计划存在某个对象被轮询。...环境,看到标量子查询千万要小心,通常,主表返回的行很多,并且查询通常在连接列上面无索引,导致性能很低下,本案例就是这种情况; 2....12c新特性改进 对于类似以上的情况,Oracle Database 12C,优化器已经可以自动实现等价改写,但是需要注意的12.1.0.2版本中有BUG,可能导致结果集不准确。...12C,标量子查询自动改写的功能由隐含参数 _optimizer_unnest_scalar_sq 控制,默认是TRUE,意味着开启,如果遇到BUG或者性能问题,可以更改为FALSE。

    1.6K50

    【示例】NO INMEMORY上指定INMEMORY列属性

    本文摘自我近期翻译的《Oracle Database In-Memory 官方使用指南》,整个使用指南将在稍后的时间里发布。...以前的版本,列级 INMEMORY 子句仅在 INMEMORY 分区上指定时有效。此限制意味着分区与 INMEMORY 子句关联之前,该列无法与 INMEMORY 子句相关联。...本示例,您的目标是确保分区的列c3永远不会填充到IM列存储。您执行以下步骤: 1、创建分区 t 如下: t是 NO INMEMORY。...该由列c1上的列表分区,并且具有三个分区:p1,p2p3。 2、查询列的压缩(包括样本输出): 如输出所示,没有设置列级别INMEMORY属性。...8、对列c1c2应用不同的压缩级别: 9、查询列的压缩(包括样本输出): 每列现在具有不同的压缩级别。

    98020

    一文详解TDSQL PG版Oracle兼容性实践

    Oracle兼容能力 3.1 分区能力 TDSQL PG版支持range、list 、hash 、高性能等间隔分区,并且可以实现多级分区级联,分区的访问方法上全面兼容Oracle语法,除可以直接访问子表外...TDSQL PG版还具备分区子表合并拆分能力及新加分区时default分区自动移动的能力。 3.2 分区子表合并&拆分 随着时间的推移,使用过程,系统分区会越来越多。...3.3 Default分区数据维护 分区中一般会有一个默认的default分区,用于存储不属于其他分区的数据。...比如在下图中,201912、20203的数据,都不属于已有的20201、2分区,因此这些数据会自动放在default分区。...如果后续用户新创建了20203分区,TDSQL PG版可以像oracle一样,自动将属于20203的数据从default分区迁移到新分区default分区中就只剩201912的数据

    2K20

    Oracle 12.2新特性掌上手册 - 第一卷 Availability

    2、Oracle Data Guard for Data Warehouses(用于数据仓库的Oracle Data Guard) 以前的版本primary数据库上使用NOLOGGING选项进行直接加载...)允许创建分区的形状完全匹配的,因此能够进行分区分区分区交换。...请注意,索引不是作为此命令的一部分创建的。 创建能够进行分区分区交换的对于已经进行了各种结构更改重组的旧表而言可能是一个乏味的任务。 使用这个新的DDL,任务变得非常简单直接实现。...)功能会隐式创建辅助实例,还原恢复空间或数据文件时会执行执行恢复操作。...使任何数据库应用程序能够灵活地被分片或复制的系统执行SQL语句(包括SELECTDML),不需要指定运行查询的分片。 与指定分片键的OLTP事务相比,该功能接受更低的性能级别。

    1.1K60
    领券