暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

变更表类型及拆分规则(DRDS模式)1

酷数据库 2023-10-23
110

PolarDB-X新增支持变更表的类型(即在单表、拆分表和广播表三者间进行相互转换),和变更拆分表的拆分规则(包括拆分函数或拆分列)。本文介绍相关语法和示例,本语法仅适用于DRDS模式数据库。

前提条件

  • 仅内核小版本为5.4.8或以上的PolarDB-X实例支持变更拆分表的拆分规则。
  • 仅内核小版本为5.4.10或以上的PolarDB-X实例支持变更表的类型(即在单表、拆分表和广播表三者间进行相互转换)。
  • 仅内核小版本为5.4.13或以上的PolarDB-X实例支持变更带有GSI的拆分表的拆分规则和表类型。

如何查看实例版本,请参见查看实例版本

注意事项

  • 表属性变更后,主键拆分表将变成普通表(即不再适用原主键拆分表中的自动拆分规则或索引转换规则)。更多详情,请参见DRDS模式下的主键拆分
  • 若单表设置了自增列,在变更为广播表或拆分表时,需提前为该表创建Sequence。如何创建Sequence,请参见CREATE SEQUENCE
  • 本文中关于变更拆分表、广播表和单表的表类型示例,均在单表t_order的基础上进行变更,t_order表的创建语句如下:


    CREATE TABLE t_order (
      `id` bigint(11) NOT NULL AUTO_INCREMENT BY GROUP,
      `order_id` varchar(20) DEFAULT NULL,
      `buyer_id` varchar(20) DEFAULT NULL,
      `seller_id` varchar(20) DEFAULT NULL,
      `order_snapshot` longtext DEFAULT NULL,
      `order_detail` longtext DEFAULT NULL,
      PRIMARY KEY (`id`),
      KEY `l_i_order` (`order_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

表类型

PolarDB-X实例支持3种类型的表:拆分表、广播表和单表。您可以通过ALTER TABLE语句在拆分表、广播表和单表间进行转换,同时还能对拆分表的拆分规则进行变更。1

  • 拆分表

    使用drds_partition_options子句进行拆分的表。

    drds_partition_options可以是如下分库或分表子句:


    drds_partition_options:
        DBPARTITION BY db_partition_algorithm
        [TBPARTITION BY table_partition_algorithm [TBPARTITIONS number]]

    其中:

    • db_partition_algorithm支持如下函数:


      db_partition_algorithm:
          HASH([col_name])
        | {YYYYMM|YYYYWEEK|YYYYDD|YYYYMM_OPT|YYYYWEEK_OPT|YYYYDD_OPT}(col_name)
        | UNI_HASH(col_name)
        | RIGHT_SHIFT(col_name, n)
        | RANGE_HASH(col_name, col_name, n)
    • table_partition_algorithm支持如下函数:


      table_partition_algorithm:
          HASH(col_name)
        | {MM|DD|WEEK|MMDD|YYYYMM|YYYYWEEK|YYYYDD|YYYYMM_OPT|YYYYWEEK_OPT|YYYYDD_OPT}(col_name)
        | UNI_HASH(col_name)
        | RIGHT_SHIFT(col_name, n)
        | RANGE_HASH(col_name, col_name, n)

      说明

      更多关于拆分函数的信息,请参见 拆分函数

  • 广播表

    通过BROADCAST子句创建的表,系统会将该表复制到每个分库上,并通过分布式事务实现数据一致性。

  • 单表

    未进行任何拆分或未指定BROADCAST子句的表。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论