检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
DDL概述 DDM支持通用的DDL操作:建库,建表,修改表结构等,但实现方式与普通的MySQL数据库有所区别。 在MySQL客户端执行DDL操作 rename table name不支持与其他DDL语句在同一条SQL执行。 对拆分表执行修改字段名操作的同时执行类似SELECT *
创建表 禁止创建表名以"_ddm"为前缀的表,系统默认认定此类表为系统内部表。 拆分表不支持全局唯一索引,当唯一键和拆分键不一致时,不能保证数据的唯一性。 建议使用bigint型作为自增键的数据类型。tinyint、smallint、mediumint、integer、int数据
支持的系统库查询 表1 系统库查询 DML语法 使用限制 系统库查询 支持以下系统库查询: 版本查询:SELECT version() information_schema.SCHEMA_PRIVILEGES information_schema.TABLE_PRIVILEGES
SELECT UNION Syntax 常用语法 SELECT ...UNION [ALL | DISTINCT] SELECT ...[UNION [ALL | DISTINCT] SELECT ...] 示例 select userid from user union select
SELECT JOIN Syntax 常用语法 table_references: table_reference [, table_reference] ... table_reference: table_factor | join_table table_factor: tbl_name
SHOW TOPOLOGY 命令格式: 查看数据库下指定逻辑表的物理分布情况。 show topology from <table_name> 输出详解: Rds_instance_id:RDS的实例ID。 HOST :IP 。 PORT :端口 。 DATABASE :物理库 。
LOAD DATA 标准示例 LOAD DATA LOCAL INFILE '/data/data.txt' IGNORE INTO TABLE test CHARACTER SET 'utf8' FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED
拆分算法使用说明 MOD_HASH算法 MOD_HASH_CI算法 RIGHT_SHIFT算法 MM按月份哈希 DD按日期哈希 WEEK按星期哈希 MMDD按月日哈希 YYYYMM按年月哈希 YYYYDD按年日哈希 YYYYWEEK按年周哈希 HASH算法 Range算法 父主题:
所以在使用过程中,条件尽可能在ON语句中判断,减少WHERE的执行。 尽量少用子查询,改用JOIN,避免大表全表扫描。 父主题: SQL语法类
TRUNCATE TABLE HINT-DB HINT-TABLE HINT-DB/TABLE 补充说明 父主题: 实用SQL语句
CHECK TABLE 检查当前逻辑库下所有逻辑表各分表的DDL一致性 检查某一张逻辑表各分表的DDL一致性 父主题: 实用SQL语句
SHOW RULE 命令格式: 查看数据库下每一个逻辑表的拆分情况。 show rule 查看数据库下指定逻辑表的拆分情况。 show rule from <table_name> 输出详解: TABLE_NAME :表名。 BROADCAST:是否为广播表(0:否,1:是)。
SHOW DATA NODE 命令格式: show data node 描述:查看物理分片的数据。 输出详解: RDS_INSTANCE_ID:RDS的实例ID。 PHYSICAL_NODE:物理节点。 HOST:主机号。 PORT:端口号。 父主题: 实用SQL语句
=根据日期函数(分库拆分键值)在设定的元数据的范围进行路由 分库 :month('2019-10-11')=10属于9-10=4,则路由到4分片 建表语法 create table range_tb( id int, name varchar(30) DEFAULT NULL
补充说明 HINT对于所有的单表以及全局表失效,只对各种分表起作用。 父主题: TRUNCATE TABLE
HINT-DB 命令格式: /*+db=<physical_db_name>*/ TRUNCATE TABLE <table_name> 描述: 删除对应的<physical_db_name>物理库下对应的所有的<table_name>的分表数据,其余分库的表不受影响。 父主题:
HINT-TABLE 命令格式: /*+table=<physical_table_name>*/ TRUNCATE TABLE <table_name> 描述: 删除当前库下表名<physical_table_name>的所有物理表的数据,其余分表不受影响。 删除前示例: 删除后示例:
DDM是否支持数据类型强制转换 数据类型转换属于高级用法,DDM对SQL的兼容性会逐步完善,如有需要请提工单处理。 父主题: SQL语法类
分库/分表:crc32(year('2019-10-11')) % 102400 = 5404 5404属于0=[0-12799],则路由到分片0。 建表语法 假设用户需要对ID列按HASH函数进行分库不分表: create table hash_tb ( id int, name
支持跨分片的JOIN,主要实现的方式有三种:广播表,ER分片和ShareJoin。 DDM目前禁止多个表的跨库update和delete。 父主题: SQL语法类