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))

  • 相关阅读:
    (7)常量和变量
    (6)python基础数据类型
    PEP8规范
    (5)原码反码补码
    (4)二八十六进制转换
    (3)你的第一个python程序
    (2)python开发环境搭建
    几种常见的开发语言对比
    (1)python的基础认知
    (25)线程---local数据隔离
  • 原文地址:https://www.cnblogs.com/kate7/p/13384260.html
Copyright © 2011-2022 走看看