检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
如何进行SQL优化 尽量避免使用LEFT JOIN或RIGHT JOIN,建议使用INNER。 在使用LEFT或RIGHT JOIN时,ON会优先执行,WHERE条件在最后执行,所以在使用过程中,条件尽可能在ON语句中判断,减少WHERE的执行。 尽量少用子查询,改用JOIN,避免大表全表扫描。
高危操作提示 在您使用DDM过程中,请不要进行以下高危操作: 为避免系统表、元数据等信息被误清理,用户尽量避免直连DN节点进行数据操作。 为避免元数据丢失,用户请不要清理DDM系统表(如:TBL_DRDS_TABLE、MYCAT_SEQUENCE)。 父主题: 使用限制
拆分算法使用说明 MOD_HASH算法 MOD_HASH_CI算法 RIGHT_SHIFT算法 MM按月份哈希 DD按日期哈希 WEEK按星期哈希 MMDD按月日哈希 YYYYMM按年月哈希 YYYYDD按年日哈希 YYYYWEEK按年周哈希 HASH算法 Range算法 父主题:
DDM准备 创建DDM实例 创建逻辑库并关联RDS for MySQL实例 创建DDM账号 创建目标库表结构 父主题: 通过DDM对RDS for MySQL实例进行分库分表
创建DDM实例 操作步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击页面右上方的“购买数据库中间件实例”。 按需设置实例相关信息和规格。参数说明请参考实例购买。
创建DRS迁移任务 创建DRS迁移任务 确认迁移执行结果 父主题: 通过DDM对RDS for MySQL实例进行分库分表
创建目标库表结构 操作步骤 登录华为云控制台。 单击管理控制台左上角的,选择区域“华北-北京四”。 单击左侧的服务列表图标,选择“数据库 > 分布式数据库中间件 DDM”,进入DDM管理控制台。 在实例管理页面,单击实例对应操作栏的“登录”按钮。 在实例登录窗口输入创建DDM账号中创
BY、 LIMIT)。 广播表 由于DDM的广播表机制是statement级别广播,如果使用运行结果不确定的函数,会造成广播表每个分片的数据不一致,请不要在广播表场景中使用这些函数。如果SQL中使用了这些函数,需要计算好,再以常量形式运用到广播表的操作中。运行结果不确定的函数包括但不限于以下函数:
和性能瓶颈,实现海量数据高并发访问。 DDM是由华为云自主研发的云原生分布式数据库中间件,采用存算分离架构,提供分库分表、读写分离、弹性扩容等能力,具有稳定可靠、高度可扩展、持续可运维的特点。服务器集群管理对用户完全透明,用户通过DDM管理控制台进行数据库运维与数据读写,提供类似传统单机数据库的使用体验。
nextval(n)场景下并且不支持跨库操作。 currval不支持currval(n)的用法。 操作步骤 连接DDM实例。 连接方法具体请参考连接DDM实例。 连接成功后,打开目标逻辑库。 输入命令创建全局序列。 create sequence seq_test; 输入命令,返回下一个序列值。 select seq_test
DDM实例节点扩容V3 功能介绍 对指定的DDM实例的节点个数进行扩容,支持按需实例与包周期实例。 接口约束 请确保实例关联的RDS状态正常并且没有进行其他操作。 调试 您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
的表。 为了方便这类表与拆分表进行关联操作,DDM实例提供了一种“广播表”,广播表具有以下特点: 广播表在各分片中数据一致。插入、更新和删除数据会实时在每一个分片中执行。 对广播表的查询,仅在一个分片中执行。 任何表都可以与广播表进行关联操作。 使用广播HINT的前提是需要确保表的存在性。
RDS for MySQL准备 此操作默认新的RDS for MySQL实例已创建成功。如需创建实例,请参考购买RDS for MySQL实例。 父主题: 通过DDM对RDS for MySQL实例进行分库分表
通过DDM对RDS for MySQL实例进行分库分表 方案概述 RDS for MySQL准备 DDM准备 创建DRS迁移任务
您可以使用本文档提供API进行相关操作,如创建、修改、查询、变更等。 DDM服务持续增加新的功能,将不可避免对现有接口有所调整(如增加响应参数),本接口文档将及时刷新内容。 为了减少接口变更带来的影响,除了DDM服务自身尽量做到接口向下兼容的同时,您在使用过程中,应当接受出现返回内容(JSON格
MM按月份哈希 适用场景 MM适用于按月份数进行分表,分表的表名就是月份数。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值的月份数进行取余运算并得到分表下标。 例如:201
WEEK适用于按周数的日期目进行分表,分表的表名的下标分别对应一周中的各个日期(星期一到星期天)。 使用说明 拆分键的类型必须是DATE/DATETIME/TIMESTAMP其中之一。 只能作为分表函数使用,但不能作为分库函数。 路由方式 根据拆分键的时间值所对应的一周之中的日期进行取余运算并得到分表下标。
Range算法 适用场景 适用于范围类操作较多的场景。在SQL查询条件中,使用“>”、“<”、“BETWEEN ... AND ...”之类运算符相对较多。 使用说明 拆分键的类型只支持整型类型、日期类型和日期函数结合,如果使用日期函数,拆分键的数据类型必须是date、datetime、timestamp其一。
3 = 2 建表语法 假设用户的实例里已经分了8个物理库, 现有一个业务想按年周进行分库。要求同一周的数据都能落在同一张分表,并且两年以内的每个周都单独对应一张分表,查询时带上分库分表键后能直接将查询落在某个物理分库的某个物理分表。 用户这时就可以使用YYYYWEEK分库函数来解
方案概述 操作场景 本文将介绍如何通过DDM对已有RDS for MySQL实例进行分库分表。 操作流程 图1 流程图 前提条件 拥有华为账号。 新的RDS for MySQL实例已创建成功。 源RDS for MySQL实例与目标DDM实例、新RDS for MySQL实例必须处于相同VPC,且安全组配置相同。