广告
返回顶部
首页 > 资讯 > 数据库 >腾讯云TDSQL MySQL版 - 开发指南 二级分区
  • 532
分享到

腾讯云TDSQL MySQL版 - 开发指南 二级分区

腾讯云TDSQLMySQL版-开发指南二级分区 2020-10-21 04:10:33 532人浏览 才女
摘要

TDsql Mysql版 目前支持 Range 和 List 两种格式的二级分区,具体建表语法和 mysql 分区语法类似。 二级分区语法 一级 Hash,二级 List 分区示例如下: MySQL [test]> CREATE TABL

腾讯云TDSQL MySQL版 - 开发指南 二级分区

TDsql Mysql版 目前支持 Range 和 List 两种格式的二级分区,具体建表语法和 mysql 分区语法类似。

二级分区语法
一级 Hash,二级 List 分区示例如下:

MySQL [test]> CREATE TABLE customers_1 (
first_name VARCHAR(25) key,
last_name VARCHAR(25),
street_1 VARCHAR(30),
street_2 VARCHAR(30),
city VARCHAR(15),
renewal DATE
) shardkey=first_name
PARTITioN BY LIST (city) (
PARTITION pRegion_1 VALUES IN("Beijing", "Tianjin", "Shanghai"),
PARTITION pRegion_2 VALUES IN("Chongqing", "Wulumuqi", "Dalian"),
PARTITION pRegion_3 VALUES IN("Suzhou", "Hangzhou", "Xiamen"),
PARTITION pRegion_4 VALUES IN("Shenzhen", "Guangzhou", "Chengdu")
);
一级 Range,二级 List 创建语法如下:

MySQL [test]> CREATE TABLE tb_sub_r_l (
id int(11) NOT NULL,
order_id bigint NOT NULL,
PRIMARY KEY (id,order_id))
PARTITION BY list(order_id)
(PARTITION p0 VALUES in (2121122),
PARTITION p1 VALUES in (38937383))
TDSQL_DISTRIBUTED BY RANGE(id) (s1 values less than (100),s2 values less than (1000));
Query OK, 0 rows affected, 1 warning (0.35 sec)
Range 支持类型
DATE,DATETIME,TIMESTAMP。
支持 year,month,day 函数,函数为空和 day 函数一样。
TINYINT, SMALLINT, MEDIUMINT, INT, BIGINT。
支持 year,month,day 函数,此时传入的值转换为年月日,然后和分表信息进行对比。
List 支持类型
DATE,DATETIME,TIMESTAMP。
支持年月日函数。
TINYINT, SMALLINT, MEDIUMINT, INT , BIGINT。
警告
建议不要使用 TIMESTAMP 类型作为分区键,因为 TIMESTAMP 受到时区的影响,同时只能使用到2038年。
如果分区键是 char 或者 varchar 类型,建议长度不超255。
使用场景和方法建议
建议业务尽量都使用一级分区表。

使用前根据业务长期场景合理设计表结构,二级分区适用于表结构创建后长期都不需要 DDL 变更、需要定期进行分区数据清理和裁剪的场景,如日志流水表。
合理设计二级分区的粒度,二级分区的粒度建议不要划分得太细,避免产生过多的二级子表。如流水表按月进行二级分区,而不是按天/小时进行分区,避免文件系统上数据文件个数过多。
在对二级分区表进行 SQL 查询时,查询条件需要尽量带上一级分区和二级分区的键值,避免执行查询时需要打开很多的数据文件进行搜索。
在对二级分区表进行 join 查询时,如果查询条件未能带上一级分区和二级分区的键值,操作性能效率较低,建议不要使用。
表的主键或唯一索引需要包含分区键,否则无法保证数据唯一性。

您可能感兴趣的文档:

--结束END--

本文标题: 腾讯云TDSQL MySQL版 - 开发指南 二级分区

本文链接: https://www.lsjlt.com/news/8683.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作