• 关于ORACLE 分区表的介绍


    1.分区表有什么优点?分区表有哪几类?如何选择用哪种类型的分区表?

    当对表进行分区后,逻辑上是一张完整的表,只是将表中的数据在物理上可能存放到多个表空间或物理文件上。当查询数据时,不需要全表扫描。Oracle可以将大表或索引分成若干个更小、更方便管理的部分,每一部分称为一个分区,这样的表称为分区表。SQL语句使用分区表比全表能提供更好的数据处理与访问的性能。即便是个别分区不可用,其他分区仍然可用。,这称为分区独立性。

    分区表的一些限制条件:

    • 簇表不能进行分区
    • 不能分割含有LONG 或LONG RAW列的表。
    • 索引组织表不能进行范围分区。

    (1)何时考虑分区?对大表进行分区,将有益于大表操作的性能和大表的数据的维护。官方说通常当表的大小超过2GB,或者对于OLTP系统,当表的记录超过1000万条时,都应考虑对表进行分区。

    (2)分区表有什么优点?分区表有如下的优点:

    1)增强可用性:如果表的一个分区由系统故障而不能使用,那么表的其余好的分区仍可用使用。

    2)减少关闭时间:如果系统故障只影响表的一部分分区,那么只有这部分分区需要修复,可能比整个大表修复花的时间更少。

    3)维护轻松:单管管理每个分区比管理单个大表要轻松得多。

    4)均衡I/O:可以把表的不同分区分配到不同的磁盘来平衡I/O,改善性能。

    5)改善性能:对大表的查询、增加、修改等操作可以分解到表的不同分区来并行执行,可使运行速度更快。

    6)分区对用户透明,最终用户感觉不到分区的存在。

    (3)有哪些类型的分区?如何选择用哪种类型的分区表?Oracle的分区可以分为:

    1)范围分区(RANGE PARTITION)

    2) 哈希分区(HASH PARTITION)

    3) 列表分区(LIST PARTITION)

    4)复合分区(组合分区)

    5)INTERVAL分区(间隔分区)

    6)系统分区

    (1)RANGE(范围)分区 在如下几种情况下会使用到范围分区:

    1)频繁地被一个时间范围谓词扫描。

    2)维护一个时间滚动的数据窗口(Rolling Window Of Data)

    3) 保存历史数据的表。

    (2) HASH分区,HASH分区有如下的优点:

    • 提高了大表的高可用和可管理性。
    • 可以避免数据倾斜,将数据均匀地分布在多个物理设备上,最大化I/O吞吐量。
    • 分区修剪和分区智能连接。
    • 要求分区键高基数列。
    • 分区修剪不支持基于分区字段的范围查询,只支持等值查询或IN-LIST查询。

    下面几种情况用HASH分区比RANGE分区更好。

    • 事先不知道需要将多少数据映射到给定范围的时候。
    • 分区的范围大小很难确定,或者很难平衡的时候。
    • Range分区使数据得到不期望的聚集时。
    • 性能特性,如并行DML、分区修剪和分区连接很重要的时候。

    (3) LIST(列表)分区 列表分区(LIST PARTITION)提供了一种按照字段的值来进行分区的方法,这种方法非常适合有高重复率字段值的表。

    列表分区有如下特点:

    • 列表值是离散的
    • 列表值是无序的
    • 分区键仅能包含一个列
    • 列表值是低基数的

    3.分区表常用数据字典视图有哪些?

    Oracle分区表相关数据字典视图如下:

    • 显示数据库所有分区表:DBA_PART_TABLES
    • 显示表分区信息,显示数据库所有分区表的详细分区信息:DBA_TAB_PARTITIONS.
    • 显示子分区信息,显示数据库所有复合分区表的子分区信息:DBA_TAB_SUBPARTITIONS
    • 显示分区别,显示数据库所有分区表的分区列信息:DBA_PART_KEY_COLUMNS
    • 显示子分区列,显示数据库所有分区表的子分区列信息:DBA_SUBPART_KEY_COLUMNS

    4.普通表转换为分区表有哪些办法?

    将普通表转换成分区表有以下4种方法:

    1)导出、导入方法(Export/Import Method)

    2)  子查询插入方法(Insert With a Subquery)

    3)分区交换方法(Partition Exchange Method)

    4)在线重定义方法(DBMS_REDEFINITION Method)

  • 相关阅读:
    jenkins部署job
    电商大促就靠RPA,摆脱重复劳动,急速提效
    【试题032】C语言关系运算符例题
    flask 添加用户认证API , 客户端用户认证
    Java数据结构——认识二叉树
    Electron 控制屏幕亮度
    Arrays类中常用的方法
    Nginx中对红黑树的使用
    Educational Codeforces Round 153 (Rated for Div. 2) D. Balanced String(基础dp)
    【LeetCode】升级打怪之路 Day 06:哈希表的应用
  • 原文地址:https://blog.csdn.net/u011868279/article/details/126501345