检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
场景五:其他异构数据库迁移到DDM 其他异构数据库,如Oracle、PostgreSQL、SQL Server等数据迁移,可以参考华为云数据迁移(CDM)服务用户指南或者联系DDM客服人员进行迁移。 父主题: 数据迁移
"engine_version": "3.1.0.3", "level": 1, "suggest": "偶发场景下MySQL客户端无法正确结束查询的问题,建议在业务低峰期升级到3.1.0.7稳定版本。", "influence": "DDM实例升级
命令输出: 如果全部逻辑表都一致, 输出结果为: 如果存在不一致的逻辑表, 输出结果为: 输出详解: 每一行表示一个逻辑表的检查结果概况。 DATABASE_NAME:逻辑库名称。 TABLE_NAME:逻辑表名称。 TABLE_TYPE:逻辑表类型。 SINGLE:单表。 BROADCAST:广播表。
表示该逻辑表各物理分表DDL都是一致的。 如果返回结果集不为空, 表示各个不一致的物理表。 输出详解: 每一行表示一个不一致的物理拆分表的详细检查结果。 DATABASE_NAME:物理表所在的物理分库。 TABLE_NAME:物理表表的表名。 TABLE_TYPE:物理表所属逻辑表类型。 EXTRA_COLUMNS:该物理表多出来的列。
如果REPLACE语句中拆分键的值是非法的,数据默认会路由到0号分库或者0号分表。 不建议在REPLACE语句中使用VERSION、DATABASE、USER函数,此类函数结果受语句是否下推至DN节点执行影响,执行结果可能不符合预期。 父主题: DML
tables information_schema.columns 索引查询:SHOW KEYS FROM <table> FROM <database> 说明: 仅支持=、in、like三种操作符,和and条件关联。 不支持子查询、关联查询、排序、聚合查询、LIMIT等等复杂查询。
配置SQL黑名单 配置SQL黑名单即配置该逻辑库不允许执行的SQL语句。 该功能主要用于解决用户某类突发的并发过高的SQL导致DDM实例不稳定的场景。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,选择目标DDM实例,单击实例名称,进入实例基本信息页面。 在左侧导
如何进行SQL优化 尽量避免使用LEFT JOIN或RIGHT JOIN,建议使用INNER。 在使用LEFT或RIGHT JOIN时,ON会优先执行,WHERE条件在最后执行,所以在使用过程中,条件尽可能在ON语句中判断,减少WHERE的执行。 尽量少用子查询,改用JOIN,避免大表全表扫描。
使用限制 如果INSERT语句中拆分键的值是非法的,数据默认会路由到0号分库或者0号分表。 不建议在INSERT语句中使用VERSION、DATABASE、USER函数,此类函数结果受语句是否下推至DN节点执行影响,执行结果可能不符合预期。 不建议INSERT DUPLICATE语句更
通过HINT指定分片直接执行SQL DDM提供HINT在一个或多个分片上执行SQL语句。 HINT支持以下两种格式: 一个分片上执行SQL:/*+db=<physical_db_name>*/ <your query>; 多个分片上执行SQL:/*+db={<physical_db_name1>
数据库表名是否区分大小写 DDM默认对databaseName、tableName、columnName、columnValue不区分大小写。 父主题: RDS相关类
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>的所有物理表的数据,其余分表不受影响。 删除前示例: 删除后示例:
CHECK TABLE 检查当前逻辑库下所有逻辑表各分表的DDL一致性 检查某一张逻辑表各分表的DDL一致性 父主题: 实用SQL语句
SHOW RULE 命令格式: 查看数据库下每一个逻辑表的拆分情况。 show rule 查看数据库下指定逻辑表的拆分情况。 show rule from <table_name> 输出详解: TABLE_NAME :表名。 BROADCAST:是否为广播表(0:否,1:是)。
HINT-DB/TABLE 命令格式: /*+db=<physical_db_name>,table=<physical_table_name>*/ TRUNCATE TABLE <table_name> 描述: 删除库名为<physical_db_name>下表名为<physi
”之类运算符相对较多的场景。 如果分库算法是range类+日期函数,且拆分键字段又表示创建时间,在数据入库时可能造成热点问题,无法充分利用多MySQL的优势。 拆分算法的使用,需要结合业务查询场景进行评估,以选择合适的拆分算法,提升DDM效率。 如何选择拆分键 拆分键是在水平拆分逻辑表
补充说明 HINT对于所有的单表以及全局表失效,只对各种分表起作用。 父主题: TRUNCATE TABLE
TRUNCATE TABLE HINT-DB HINT-TABLE HINT-DB/TABLE 补充说明 父主题: 实用SQL语句
自定义HINT跳过执行计划缓存 DDM提供HINT来控制SELECT语句是否跳过缓存的执行计划。 HINT的格式为: /*!GAUSS:skip_plancache=flag */ 其中flag可以是true或者false,true代表跳过执行计划缓存,false代表不跳过。 目前只支持SELECT语句。