• Atitit.常用分区api的attilax总结


    Atitit.常用分区apiattilax总结

     

     

    1Api 来源与oraclemysql1

    1.1. 分区定义partition by range (uid)  使用VALUES LESS THAN操作符来进行定1

    1.1.1. mysql1

    1.1.2. Oracle分区定义partition by range (uid)  使用VALUES LESS THAN操作符来进行定2

    1.2. 分区按照hash2

    1.2.1. Oracle语法2

    1.3.  列表分区: partition by list()。3

    1.4. 分区的修改和合并3

    1.5. Del parition3

    1.6. 查看分区how create table 表名4

    1.6.1. 分区管理 oracle4

    2Refer4

     

    1. Api 来源与oraclemysql

     

    1.1. 分区定义partition by range (uid) 
    使用VALUES LESS THAN操作符来进行定

     

    作者:: 老哇的爪子 Attilax 艾龙,  EMAIL:1466519819@qq.com

    转载请注明来源: http://blog.csdn.net/attilax

     

    1.1.1. mysql

    partition by range (uid) 
    ( partition p0 values less than (10000) data directory = "/data00/" index directory = "/data00/", 
    partition p1 values less than (20000) data directory = "/data00/" index directory = "/data00/", 
    partition p2 values less than (30000) data directory = "/data00/" index directory = "/data00/", 
    partition p3 values less than maxvalue data directory = "/data00/" index directory = "/data00/"
    );

     

    1.1.2. Oracle分区定义partition by range (uid) 
    使用VALUES LESS THAN操作符来进行定

     

    partition by range (uid) 
    ( partition p0 values less than (10000) data directory = "/data00/" index directory = "/data00/", 
    partition p1 values less than (20000) data directory = "/data00/" index directory = "/data00/", 
    partition p2 values less than (30000) data directory = "/data00/" index directory = "/data00/", 
    partition p3 values less than maxvalue data directory = "/data00/" index directory = "/data00/"
    );

     

     

     

     

    1.2. 分区按照hash

    1.2.1. Oracle语法

    散列分区:指在一个(或多个列)上应用一个散列函数,行会按这个散列值放在某个分区中。适用于事先不知道指定范围内有多少数据,以及如果用范围分区,各区之间数据量差异很大、很难人工干预分区间数量平衡的情况。语法是:partition by hash()。例如:

    create table department(

    Deptnoid int primary key,

    Deptname varchar(20)

    )

    partition by hash(Deptnoid) (

    Partition p1,

    Partition p2

    )

     

     

     

     

     

     

    1.3.  列表分区 partition by list()

    指定一个离散值集,来确定应当存储在一起的数据。例如,可以指定STATUS列值在(’A’,’M’,’Z’ )中的行放在分区1中,STATUS值在( ‘D’,P’,’Q’ )中的行放在分区2中,依此类推。列表分区和范围分区的不同主要是列表分区按照预先给定的一系列离散值进行分区,新数据插入表中时,根据分区键值找到对应分区。列表分区的分区列只有一个,当然其单个分区对应值可以使多个。在分区时必须确定分区列可能存在的值,一旦插入的列值不在分区范围内,则插入/更新就会失败,因此通常建议使用list分区时,要创建一个default分区,存储那些不在指定范围内的记录,类似range分区中的maxvalue分区。语法是:partition by list()。例如:

    create table ListTable(

    id int primary key,

    area varchar(10)

    )

    partition by list(area)

    (

    partition part1 values('guangdong','beijing') ,

    partition part2 values('shanghai','nanjing'),

    partition part3 values(default)

    ); 

     

    1.4. 分区的修改和合并



    以下是将p0分区再分割成2分区s0,s1的例子:

     

    1.5. Del parition

     

     alter table titles drop partition p01;

     

    1.6. 查看分区how create table 表名

    看创建分区表

    Uapi  listPatition

     

     

     

    1.6.1.  分区管理 oracle

          分区可以和表一样进行增删改查。SQL语句示意如下。

    添加分区:alter table xxx add partition p5 values less than (100)。特别注意对于list、range这样存在范围值的分区,所增加的分区值必须要大于当前分区中的最大值,否则会报错,hash分区无此限制。

    删除分区:alter table student drop partition p4.

    合并分区:alter table student merge partitions p3, p4  into partition p6.

     

     

    2. Refer

    Atitit.数据库分区的设计 attilax  总结

    数据库学习之分区技术_Doraemonls_新浪博客.htm

  • 相关阅读:
    高性能SQL编码规范
    识别SQL Server 性能杀手
    centOS7安装nginx
    linux安装apache
    算术表达式的前缀表达式,中缀表达式和后缀表达式
    有特殊字符的JSON串
    sqlserver 找到执行慢的sql
    SQL索引建立遵守六大铁律
    [SQL Server 2005/2008] select语句中指定索引
    ubuntu下vsftpd虚拟用户配置
  • 原文地址:https://www.cnblogs.com/attilax/p/5963602.html
Copyright © 2020-2023  润新知