文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Oracle 11g引用分区表有什么作用

2024-04-02 19:55

关注

这篇文章主要讲解了“Oracle 11g引用分区表有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Oracle 11g引用分区表有什么作用”吧!

        引用分区表是Oracle11g引入的新特性,在特定场合十分好用,解决了“并非所有表都具有您需要根据其进行分区的列”这个问题。
 
       根据Oracle官方文档介绍,引用分区表是通过PARTITION BY REFERENCE语句来实现,需要指定引用约束的名称,该约束将成为应用到该引用分区表所使用的约束。这个约束必须启用和执行。

   和其他分区表一样,你可以制定对象级别的默认属性,也可以随意在特定分区设置属性,覆盖对象级别的属性。

   下面的sql语句创建了一个范围分区表orders,引用分区子表order_items包含了4个分区,分别是Q1_2005, Q2_2005, Q3_2005, Q4_2005,每个分区包含的order_items数据都是根据父表关联列的范围分区来存储。

点击(此处)折叠或打开

  1. CREATE TABLE orders

  2.     ( order_id NUMBER(12),

  3.       order_date         TIMESTAMP,

  4.       order_mode VARCHAR2(8),

  5.       customer_id NUMBER(6),

  6.       order_status NUMBER(2),

  7.       order_total NUMBER(8,2),

  8.       sales_rep_id NUMBER(6),

  9.       promotion_id NUMBER(6),

  10.       CONSTRAINT orders_pk PRIMARY KEY(order_id)

  11.     )

  12.   PARTITION BY RANGE(order_date)

  13.     ( PARTITION Q1_2005 VALUES LESS THAN (TO_DATE('01-APR-2005','DD-MON-YYYY')),

  14.       PARTITION Q2_2005 VALUES LESS THAN (TO_DATE('01-JUL-2005','DD-MON-YYYY')),

  15.       PARTITION Q3_2005 VALUES LESS THAN (TO_DATE('01-OCT-2005','DD-MON-YYYY')),

  16.       PARTITION Q4_2005 VALUES LESS THAN (TO_DATE('01-JAN-2006','DD-MON-YYYY'))

  17.     );


  18. CREATE TABLE order_items

  19.     ( order_id NUMBER(12) NOT NULL,

  20.       line_item_id NUMBER(3) NOT NULL,

  21.       product_id NUMBER(6) NOT NULL,

  22.       unit_price NUMBER(8,2),

  23.       quantity NUMBER(8),

  24.       CONSTRAINT order_items_fk

  25.       FOREIGN KEY(order_id) REFERENCES orders(order_id)

  26.     )

  27.     PARTITION BY REFERENCE(order_items_fk);

    在上述sql语句中,引用分区子表没有指定分区描述,默认和父表保持一致;如果要指定分区描述,则分区描述的个数必须和父表的分区数保持一致。如果父表是一个复合分区表,则子表的分区和父表的子分区一一对应;否则,子表分区和父表的分区一一对应。

   需要注意的是,在引用分区表中不能指定分区的边界。


       引用分区表的分区可以单独命名,如果没有显式地制定分区名称,则直接继承其关联的父表分区名称,除非父表分区名称和已有名称冲突。这种情况下,系统将自动生成一个分区名称。由于上述sql语句没有指定名称,则子表分区和父表分区的名称应该相同。

点击(此处)折叠或打开

  1. SQL> select table_name,partition_name from user_tab_partitions;


  2. TABLE_NAME                     PARTITION_NAME

  3. ------------------------------ ------------------------------

  4. ORDER_ITEMS                    Q4_2005

  5. ORDER_ITEMS                    Q3_2005

  6. ORDER_ITEMS                    Q2_2005

  7. ORDER_ITEMS                    Q1_2005

  8. ORDERS                         Q4_2005

  9. ORDERS                         Q3_2005

  10. ORDERS                         Q2_2005

  11. ORDERS                         Q1_2005


  12. 8 rows selected.


  13. SQL>


       如果sql语句没有显式指定表空间,则引用分区表的分区将和父表的相关分区放在一起。

感谢各位的阅读,以上就是“Oracle 11g引用分区表有什么作用”的内容了,经过本文的学习后,相信大家对Oracle 11g引用分区表有什么作用这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯