检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
创建表 禁止创建表名以"_ddm"为前缀的表,系统默认认定此类表为系统内部表。 拆分表不支持全局唯一索引,当唯一键和拆分键不一致时,不能保证数据的唯一性。 建议使用bigint型作为自增键的数据类型。tinyint、smallint、mediumint、integer、int数据
INSERT INSERT是将数据插入到数据库对象中的指令。 常用语法 INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr },...),(...),... [ ON DUPLICATE KEY UPDATE
拆分算法使用说明 MOD_HASH算法 MOD_HASH_CI算法 RIGHT_SHIFT算法 MM按月份哈希 DD按日期哈希 WEEK按星期哈希 MMDD按月日哈希 YYYYMM按年月哈希 YYYYDD按年日哈希 YYYYWEEK按年周哈希 HASH算法 Range算法 父主题:
支持的系统库查询 表1 系统库查询 DML语法 使用限制 系统库查询 支持以下系统库查询: 版本查询:SELECT version() information_schema.SCHEMA_PRIVILEGES information_schema.TABLE_PRIVILEGES
SELECT JOIN Syntax 常用语法 table_references: table_reference [, table_reference] ... table_reference: table_factor | join_table table_factor: tbl_name
SELECT UNION Syntax 常用语法 SELECT ...UNION [ALL | DISTINCT] SELECT ...[UNION [ALL | DISTINCT] SELECT ...] 示例 select userid from user union select
SELECT Subquery Syntax The Subquery as Scalar Operand 示例 SELECT (SELECT id FROM test1 where id=1); SELECT (SELECT id FROM test2 where
DDM是否支持数据类型强制转换 数据类型转换属于高级用法,DDM对SQL的兼容性会逐步完善,如有需要请提工单处理。 父主题: SQL语法类
Range算法 适用场景 适用于范围类操作较多的场景。在SQL查询条件中,使用“>”、“<”、“BETWEEN ... AND ...”之类运算符相对较多。 使用说明 拆分键的类型只支持整型类型、日期类型和日期函数结合,如果使用日期函数,拆分键的数据类型必须是date、datetime、timestamp其一。
DDM是否支持分布式JOIN DDM支持分布式JOIN。 表设计时,增加字段冗余 支持跨分片的JOIN,主要实现的方式有三种:广播表,ER分片和ShareJoin。 DDM目前禁止多个表的跨库update和delete。 父主题: SQL语法类
全局序列概述 全局序列主要指基于DB的全局序列。 支持修改自增序列初始值。 全局序列主要保证ID全局唯一,并不能保证一定是连续递增的。 对使用DDM自增序列,不允许用户传null值以外的值,当用户不传或传null值时,DDM会默认分配,如果用户手工赋值会有和DDM分配自增键值冲突的风险。
HASH算法 适用场景 适用于需要将数据均匀分布的场景对数据进行拆分的场景,在SQL查询条件中,使用“=”、“IN”之类运算符相对较多。 使用说明 拆分键的数据类型必须是整数类型(INT, INTEGER, BIGINT, MEDIUMINT, SMALLINT, TINYINT
不支持的DML语法列举 不支持的DML语法 表1 DML的语法限制 DML语法 使用限制 DELETE语句 不支持PARTITION子句。 UPDATE语句 不支持跨分片子查询。 SELECT语句 支持ORDER BY语句,不支持类似ORDER BY FIELD(id,1,2,3)这种自定义排序。
慢查询 操作场景 DDM提供“慢查询”功能,将指定时间内的慢SQL语句进行统计分类,把结构相同的慢SQL语句整理成SQL模板,您可以查看指定区间内的所有慢SQL类型,针对这些类型进行优化处理。您也可以下载慢日志进行业务分析。 查看日志明细 登录分布式数据库中间件控制台。 在实例管理列表页面,单击进入目标实例。
RIGHT_SHIFT算法 适用场景 当拆分键大部分键值的低位部位区分度比较低而高位部分区分度比较高时,则适用于通过此拆分算法提高散列结果的均匀度。 使用说明 拆分键的数据类型必须是整数类型。 路由方式 根据拆分键的键值(键值必须是整数)有符号地向右移二进制移指定的位数(位数由用户通过
YYYYMM按年月哈希 适用场景 适用于需要按年份与月份进行分库的场景,建议该函数与 tbpartition YYYYMM(ShardKey) 联合使用。 使用说明 拆分键的数据类型必须是DATE / DATETIME / TIMESTAMP其中之一。 路由方式 根据拆分键的时间
MMDD按月日哈希 适用场景 MMDD适用于按一年的天数(即一年中日期)进行分表,分表的表名的下标就是一年中的第几天,一年最多366天。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根
MM按月份哈希 适用场景 MM适用于按月份数进行分表,分表的表名就是月份数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的月份数进行取余运算并得到分表下标。 例如:
DD按日期哈希 适用场景 DD适用于按日期的天数进行分表,分表的表数就是日期的天数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的日期的天数进行取余运算并得到分表下标。
MOD_HASH算法 适用场景 适用于需要按用户ID或订单ID进行分库的场景。 使用说明 拆分键的数据类型必须是整数类型(INT, INTEGER, BIGINT, MEDIUMINT, SMALLINT, TINYINT, DECIMAL(支持精度为0的情况))或字符串类型(CHAR