1818IP-服务器技术教程,云服务器评测推荐,服务器系统排错处理,环境搭建,攻击防护等

当前位置:首页 - 数据库 - 正文

君子好学,自强不息!

细化解析:Oracle表分区

2022-11-25 | 数据库 | gtxyzz | 514°c
A+ A-

Oracle表分区里可以把一个表分割为多个小部分,这样可以对Oracle表分区的查询性能,管理表数据,备份和恢复操作的性能优化带来改善。

Oracle表分区分为好几种的(范围分区,散列分区,子分区,列表分区,索引分区)下面我们来慢慢介绍

现在我们来建立一个[范围分区]

createtableRangeTable( 
  • idintprimarykey, namevarchar(20),
  • gradeint )
  • partitionbyrang(grade) (
  • partitionpart1valueslessthen(50)tablespacePart1_tb, partitionpart2valueslessthen(MAXVALUE)tablespacePart2_tb
  • );
  • 如果grade的值小于50的话 就把记录放到名为part1的分区当中,part1分区将被存储在Part1_tb表空间中 其他的就放在part2中 MAXVALUE是Oracle的关键字 表示最大值

    [散列分区]

    createtableHashTable( 
  • idintprimarykey, namevarchar(20),
  • gradeint )
  • /*有两种方式,1就是指定分区数目和所使用的表空间,2指定以命名的分区*/

    partitionbyhash(grade) 
  • partitions10--指定分区的数目 storein(Part1_tb,Part2_tb,Part3_tb)--如果指定的分区数目比表空间多,分区会以循环方式分配到表空间
  • /*------------------------------------*/ partitionbyrang(grade)--这种方式就是指定以命名的分区
  • ( partitionpart1tablespacePart1_tb,
  • partitionpart2tablespacePart2_tb );
  • #p#

    [子分区]即是分区的分区

    createtableChildTable( 
  • idintprimarykey, namevarchar(20),
  • gradeint )
  • partitionbyrang(grade) subpartitionbyhash(grade)
  • partitions5 (
  • partitionpart1valueslessthen(30)tablespacePart1_tb, partitionpart2valueslessthen(60)tablespacePart2_tb,
  • partitionpart3valueslessthen(MAXVALUE)tablespacePart3_tb );
  • [列表分区]告诉Oracle表分区所有可能的值

    createtableListTable( 
  • idintprimarykey, namevarchar(20),
  • areavarchar(10) )
  • partitionbylist(area) (
  • partitionpart1values('guangdong','beijing')tablespacePart1_tb, partitionpart2values('shanghai','nanjing')tablespacePart2_tb
  • );
  • [索引分区]索引也可以按照和表进行分区时使用的相同的值范围来分区

    createindexIndexTable_index 
  • onIndexTable(name) local
  • ( partitionpart1tablespacePart1_tb,
  • partitionpart2tablespacePart2_tb )
  • --local告诉Oracle表IndexTable的每一个分区建立一个独立的索引 createindexIndexTable_index
  • onIndexTable(name) global;
  • –global为全局索引 全局索引可以包含多个分区的值 局部索引比全局索引容易管理,而全局索引比较快 注意:不能为散列分区 或者 子分区创建全局索引

    查询某一个表分区

    select*fromtablepartition(part1); 
    

    本文来源:1818IP

    本文地址:https://www.1818ip.com/post/11515.html

    免责声明:本文由用户上传,如有侵权请联系删除!

    发表评论

    必填

    选填

    选填

    ◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。