zoukankan      html  css  js  c++  java
  • MySQL分区(三)COLUMNS分区

    LIST和RANGE分区只支持整数分区,从而需要额外的函数计算来得到整数或者通过额外的转换表来转换为整数再分区。

    COLUMNS分区可以细分为:RANGE COLUMNS分区和 LIST COLUMNS分区,都支持整数、日期时间、字符串数据类型。

    CREATE TABLE rc3(a INT,b INT)

    PARTITION BY RANGE COLUMNS(a,b)(

        PARTITION p01 VALUES LESS THAN (0,10),

        PARTITION p02 VALUES LESS THAN (10,10),

        PARTITION p03 VALUES LESS THAN (10,20),

        PARTITION p04 VALUES LESS THAN (10,35),

        PARTITION p05 VALUES LESS THAN (10,MAXVALUE),

        PARTITION p06 VALUES LESS THAN (MAXVALUE,MAXVALUE)

        );

    insert into rc3 (a,b) values (1,10);

    select (1,10) < (10,10) from dual;

    SELECT partition_name part,    
        partition_expression expr,
        partition_description descr,
        table_rows
    FROM
        information_schema.`PARTITIONS`
    WHERE
        table_schema=SCHEMA()
        AND table_name='rc3'

    可以看到 a=1,b=10 的记录,写入了p02区。

    再插入几条数据:

    insert into rc3(a,b) values(10,9),(10,10),(10,99)

    a=10,b=20 写入了 p03区

    可见规则为:先根据 a 字段排序再根据 b 字段排序

    a < 10 or ((a=10)and(b<10))

  • 相关阅读:
    python模块添加
    Python 的列表排序
    python中文处理问题
    排序算法堆排序
    搜索二分搜索
    排序算法(随机)快速排序(递归)
    排序算法计数排序
    OO设计原则总结
    异常控制以及进程调度
    ubuntu12.04 alternate win7 双系统安装
  • 原文地址:https://www.cnblogs.com/kate7/p/13384260.html
Copyright © 2011-2022 走看看