检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
配置SQL黑名单即配置该逻辑库不允许执行的SQL语句。 该功能主要用于解决用户某类突发的并发过高的SQL导致DDM实例不稳定的场景。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,选择目标DDM实例,单击实例名称,进入实例基本信息页面。 在左侧导航栏,选择“逻辑库管理”,查看DDM实例逻辑库。
如何进行SQL优化 尽量避免使用LEFT JOIN或RIGHT JOIN,建议使用INNER。 在使用LEFT或RIGHT JOIN时,ON会优先执行,WHERE条件在最后执行,所以在使用过程中,条件尽可能在ON语句中判断,减少WHERE的执行。 尽量少用子查询,改用JOIN,避免大表全表扫描。
分算法,对时间字段用日期函数转换成年,表示按年存储到各个分片上,详情参见如下示例。 如何选择拆分算法 拆分算法即将逻辑表中数据拆分到多个数据库分片上的算法,DDM支持hash和range两大类拆分算法。 hash类 将数据均匀分布在各个分片。 适用于SQL查询条件使用“=”、“IN”之类运算符相对较多的场景。
shard_unit Integer 单个RDS上的逻辑库分片数。 dataVips Array of strings 连接逻辑库使用的IP:端口。 used_rds Array of GetDatabaseUsedRds objects 关联RDS。 表5 GetDatabases 参数
INSERT INSERT是将数据插入到数据库对象中的指令。 常用语法 INSERT [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr },...),(...),... [ ON DUPLICATE KEY UPDATE
用途:对特定一张逻辑表进行详细检查。 命令格式: check table <table_name> 命令输出: 如果返回结果集为空, 表示该逻辑表各物理分表DDL都是一致的。 如果返回结果集不为空, 表示各个不一致的物理表。 输出详解: 每一行表示一个不一致的物理拆分表的详细检查结果。 DATABASE_NAME:物理表所在的物理分库。
用途:用于对某逻辑库所有的逻辑表的一致性情况进行全局概览。 命令格式: check table 命令输出: 如果全部逻辑表都一致, 输出结果为: 如果存在不一致的逻辑表, 输出结果为: 输出详解: 每一行表示一个逻辑表的检查结果概况。 DATABASE_NAME:逻辑库名称。 TABLE_NAME:逻辑表名称。
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>的所有物理表的数据,其余分表不受影响。 删除前示例: 删除后示例:
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:是)。
HINT-DB/TABLE 命令格式: /*+db=<physical_db_name>,table=<physical_table_name>*/ TRUNCATE TABLE <table_name> 描述: 删除库名为<physical_db_name>下表名为<physi
通过HINT指定分片直接执行SQL DDM提供HINT在一个或多个分片上执行SQL语句。 HINT支持以下两种格式: 一个分片上执行SQL:/*+db=<physical_db_name>*/ <your query>; 多个分片上执行SQL:/*+db={<physical_db_name1>
创建账号 当同一数据库实例或同一数据库需要不同权限的用户访问时,可创建多个用户。您可以在分布式数据库中间件控制台创建所需的用户账号。 操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,单击目标实例名称,进入实例基本信息页面。 在左侧导航栏选择“账号管理”,进入账号管理页面。
数据节点管理相关操作(以RDS为例) 同步数据节点 ddm:rds:synchro 同步数据节点操作依赖以下权限,即要配置同步数据节点权限,必须配置以下依赖的权限,否则同步数据节点失败。 rds:instance:list rds:instance:modify rds:instance:modifyParameter
补充说明 HINT对于所有的单表以及全局表失效,只对各种分表起作用。 父主题: TRUNCATE TABLE
UPDATE 常用语法 UPDATE table_reference SET col_name1={expr1} [, col_name2={expr2}] ... [WHERE where_condition] 语法限制 不支持使用子查询(相关子查询和非相关子查询)。 UPDA
自定义HINT跳过执行计划缓存 DDM提供HINT来控制SELECT语句是否跳过缓存的执行计划。 HINT的格式为: /*!GAUSS:skip_plancache=flag */ 其中flag可以是true或者false,true代表跳过执行计划缓存,false代表不跳过。 目前只支持SELECT语句。
自定义HINT读写分离 DDM提供HINT来指定SQL语句是在主实例上执行还是在只读实例上执行。 HINT支持以下两种格式: 格式一: /*!mycat:db_type=host */ 格式二: /*+ db_type=host */ 其中host可以是master或者slave