检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如何进行SQL优化 尽量避免使用LEFT JOIN或RIGHT JOIN,建议使用INNER。 在使用LEFT或RIGHT JOIN时,ON会优先执行,WHERE条件在最后执行,所以在使用过程中,条件尽可能在ON语句中判断,减少WHERE的执行。 尽量少用子查询,改用JOIN,避免大表全表扫描。
SQL语法 简介 DDL DML Online DDL 函数 使用限制 实用SQL语句 全局序列 数据库管理语法 SQL高级功能
13以上版本的驱动,才能实现批量插入。MySQL JDBC驱动在默认情况下会无视executeBatch()语句,把预计批量执行的一组sql语句拆散,一条一条地发给MySQL数据库,批量插入实际上是单条插入,直接造成较低的性能。只有把rewriteBatchedStatements参数置为true
确保源华为云上自建MySQL、目标DDM实例,RDS for MySQL实例都在同一个VPC下,保证网络互通。 源华为云上自建MySQL所在ECS、目标DDM实例、RDS for MySQL实例的安全组建议配置相同,如果不同则需要放开对应端口访问。 ECS已安装MySQL官方客户端,MySQL客户端版本建议为5
for MySQL实例 本章节介绍创建RDS for MySQL实例并构造测试数据。 创建实例 登录华为云控制台。 单击管理控制台左上角的,选择区域“华南-广州”。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。 配置实例名称和实例基本信息。
购买实例并通过Windows系统连接DDM逻辑库 DDM实例购买完成后,可以先登录到Windows弹性云服务器,在ECS上安装MySQL-Front(以MySQL-Front为例),然后通过MySQL-Front使用内网IP连接到DDM逻辑库。 步骤一:购买DDM实例 进入购买分布式数据库中间件实例页面。
如何选择数据节点RDS for MySQL的规格 数据节点RDS for MySQL的规格建议不小于DDM的规格,否则会产生木桶效应,影响性能。 示例: Q:例如DDM是8核16GB,那么RDS for MySQL的规格应该选多少?应该选择主备还是单机架构? A:根据最佳实践结果,一般建议DDM和RDS
SQL语法类 DDM是否支持分布式JOIN 如何进行SQL优化 DDM是否支持数据类型强制转换 如何处理INSERT语句批量插入多条数据时报错
MySQL连接DDM时出现乱码如何解决 MySQL连接的编码和实际的编码不一致,可能导致DDM解析时出现乱码。 通过“default-character-set=utf8”指定客户端连接的编码即可。 如下所示: mysql -h 127.0.0.1 -P 5066 -D database
创建RDS for MySQL实例 本章节介绍创建DDM下关联的RDS for MySQL实例,创建步骤如下。 创建步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 云数据库 RDS”。 单击“购买数据库实例”。
SQL高级功能 暂不支持Prepare\EXECUTE语法。 暂不支持用户自定义数据类型、自定义函数。 暂不支持视图、存储过程、触发器、游标。 暂不支持BEGIN…END、LOOP…END LOOP、REPEAT…UNTIL…END REPEAT、WHILE…DO…END WHILE等复合语句。
源端RDS for MySQL准备 创建源端VPC和安全组 创建RDS for MySQL实例 创建源端VPN 父主题: 通过数据复制服务(DRS)将RDS for MySQL数据迁移到DDM
在逻辑库列表页面,单击右侧操作栏的“配置SQL黑名单”。 图1 配置SQL黑名单 在配置SQL黑名单弹窗中,单击“编辑”,按需输入前缀匹配、全量匹配、正则匹配的SQL信息,设置完成后单击“确定”即可。 前缀匹配:禁止在对应逻辑库执行带有某些关键字的SQL语句,例如带有DROP或者DELETE的SQL语句。 全
如何通过show full innodb status指令查询RDS for MySQL相关信息 通过MySQL客户端连接DDM实例后,可直接输入show full innodb status指令查询该DDM实例所关联的RDS for MySQL实例信息。可查询信息如: 当前的时间及自上次输出以来经过的时长。
RDS for MySQL准备 此操作默认新的RDS for MySQL实例已创建成功。如需创建实例,请参考购买RDS for MySQL实例。 父主题: 通过DDM对RDS for MySQL实例进行分库分表
在创建逻辑库页面,选择“逻辑库模式”、“逻辑库总分片数”,填写“逻辑库名称”,并选择要关联的DDM账号、要关联的实例,单击“下一步”。 本示例中逻辑库模式为单库,逻辑库名称为db_test。 DRS目前仅支持迁移源端MySQL的数据到目标DDM,不支持迁移源库表结构及其他数据库对象,用户需
自定义HINT读写分离 自定义HINT跳过执行计划缓存 通过HINT指定分片直接执行SQL 父主题: SQL语法
分片变更操作指导 本章节以RDS for MySQL实例为例说明分片变更的使用方法。 前提条件 DDM实例中已创建逻辑库。 已有RDS for MySQL实例与DDM实例处于相同的VPC,该RDS for MySQL实例没有被其它DDM实例使用。如果需增加DN实例,则DN实例与DDM实例需要处于相同的VPC。
limit exceeded”错误,说明当前执行SQL需要在DDM节点进行二次计算,并且所需要的临时表大小已超过实例设置。对于以上情况如遇到临时表相关报错,可评估SQL是否存在优化空间,如设置广播表、增加分批查询条件或根据分库分表架构自身特点调整SQL写法。如果无优化空间,同时评估数据量大
DATA全部失败。 由于分布式事务的特性,使用LOAD DATA导入数据时,需要设置手动提交事务,以确保数据记录改动的准确无误。 例如客户端可进行如下设置: mysql> set autocommit=0; mysql> LOAD DATA LOCAL INFILE '/data/data.txt'