云服务器内容精选
-
算法计算方式 方式一:拆分键是整型 表1 拆分键是整型时的计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 分库路由结果 = 分库拆分键值 % 分库数 分表路由结果 = 分表拆分键值 % 分表数 分库 :16 % 8 = 0 分表:16 % 3 = 1 分库拆分键 = 分表拆分键(拆分键) 分表路由结果 = 拆分键值 % (分库数 * 分表数) 分库路由结果 = 分表路由结果 / 分表数 说明: 分库路由结果四舍五入到最接近的整数。 分表:16 % (8 * 3) = 16 分库 :16 / 3 = 5 方式二:拆分键是字符类型 表2 拆分键是字符型时的计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 分库路由结果 = hash(分库拆分键值) % 分库数 分表路由结果 = hash(分表拆分键值) % 分表数 hash(‘abc’)=‘abc’.hashCode()=96354 分库 :96354 % 8 = 2; 分表 :96354 % 3 = 0; 分库拆分键 = 分表拆分键(拆分键) 分表路由结果 = hash(拆分键值) % (分库数 * 分表数) 分库路由结果 =分表路由结果 / 分表数 说明: 分库路由结果四舍五入到最接近的整数。 hash(‘abc’)=‘abc’.hashCode()=96354 分表 :96354% (8 * 3) = 18 分库 :18 / 3=6
-
建表语法 如果用户需要对ID列按MOD_HASH函数进行分库不分表: create table mod_hash_tb(id int,name varchar(30) DEFAULT NULL,create_time datetime DEFAULT NULL,primary key(id)) ENGINE = InnoDB DEFAULT CHARSET = utf8 dbpartition by mod_hash(ID); 如果用户需要对ID列按MOD_HASH函数进行既分库又分表: create table mod_hash_tb(id int,name varchar(30) DEFAULT NULL,create_time datetime DEFAULT NULL,primary key(id)) ENGINE = InnoDB DEFAULT CHARSET = utf8dbpartition by mod_hash(ID) tbpartition by mod_hash(ID) tbpartitions 4;
-
建表语法 create table RIGHT_SHIFT(id int,name varchar(30) DEFAULT NULL,create_time datetime DEFAULT NULL,primary key(id)) ENGINE = InnoDB DEFAULT CHARSET = utf8dbpartition by RIGHT_SHIFT(id, 4)tbpartition by RIGHT_SHIFT(id, 4) tbpartitions 2;
-
注意事项 DDM账户的基础权限base_authority只能通过控制台界面来修改。 DDM账户拥有逻辑库的任意表级权限或者库级权限,控制台界面就会展示已关联该逻辑库。 Create user只支持用户级权限。 删除逻辑库,删除表不会影响DDM账户的grant info权限信息。 用grant语法授权给DDM账户,命令如下所示: grant grant option on {用户级、库级别、表级别} to DDM账户 创建的DDM账户必须关联逻辑库才会给该账户赋权。
-
权限项 DDM通过GRANT语句授权所支持的权限项如下: 权限类型 权限简述 ALL 所有权限 Drop 删除table Index 创建/删除index Alter 执行ALTER语句 Create 创建table Select 读取表内容 Insert 插入数据到表 Update 更新表中数据 Grant 授予用户权限 Revoke 删除用户权限 Set SET用户密码权限 File 从文件加载数据库权限 Create User 创建用户
-
示例流程 图1 授权DDM权限流程 创建用户组并授权 在 IAM 控制台创建用户组,并授予关系型数据库只读权限“DDM ReadOnlyAccess”。 创建用户并加入用户组 在IAM控制台创建用户,并将其加入1中创建的用户组。 用户登录并验证权限 新创建的用户登录控制台,切换至授权区域,验证权限: 在“服务列表”中选择 分布式数据库 中间件服务,进入DDM主界面,单击右上角“购买分布式数据库中间件实例”,尝试购买分布式数据库中间件实例,如果无法购买分布式数据库中间件实例(假设当前权限仅包含DDM ReadOnlyAccess),表示“DDM ReadOnlyAccess”已生效。 在“服务列表”中选择除分布式数据库中间件服务外(假设当前策略仅包含DDM ReadOnlyAccess)的任一服务,若提示权限不足,表示“DDM ReadOnlyAccess”已生效。
-
操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,单击目标实例名称,进入实例基本信息页面。 在左侧导航栏选择“账号管理”,进入账号管理页面。 账号管理页面选择目标账号,在其操作栏单击“修改”。 在修改账号弹窗中,您可以修改密码有效期、关联逻辑库、账号权限及描述信息。 密码有效期,取值范围为0-65535的整数,单位为天。0表示密码永不过期。 图1 修改DDM账号 编辑完成账号信息后,单击“确定”,保存修改信息。
-
算法计算方式 方式一:拆分键是整型 表1 拆分键是整型时的计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 分库路由结果 = 分库拆分键值 % 分库数 分表路由结果 = 分表拆分键值 % 分表数 分库 :16 % 8 = 0 分表:16 % 3 = 1 分库拆分键 = 分表拆分键(拆分键) 分表路由结果 = 拆分键值 % (分库数 * 分表数) 分库路由结果 = 分表路由结果 / 分表数 说明: 分库路由结果四舍五入到最接近的整数。 分表:16 % (8 * 3) = 16 分库 :16 / 3 = 5 方式二:拆分键是字符类型 表2 拆分键是字符型时的计算方式 条件 算法 举例 分库拆分键 ≠ 分表拆分键 分库路由结果 = hash(分库拆分键值) % 分库数 分表路由结果 = hash(分表拆分键值) % 分表数 hash(‘abc’)=‘abc’.toUpperCase().hashCode()=64578 分库 :64578 % 8 = 2; 分表 :64578 % 3 = 0; 分库拆分键 = 分表拆分键(拆分键) 分表路由结果 = hash(拆分键值) % (分库数 * 分表数) 分库路由结果 =分表路由结果 / 分表数 说明: 分库路由结果四舍五入到最接近的整数。 hash(‘abc’)=‘abc’.toUpperCase().hashCode()=64578 分表 :64578% (8 * 3) = 18 分库 :18 / 3=6
-
建表语法 如果用户需要对ID列按MOD_HASH_CI函数进行分库不分表: create table mod_hash_ci_tb(id int,name varchar(30) DEFAULT NULL,create_time datetime DEFAULT NULL,primary key(id)) ENGINE = InnoDB DEFAULT CHARSET = utf8 dbpartition by mod_hash_ci(ID); 如果用户需要对ID列按MOD_HASH_CI函数进行既分库又分表: create table mod_hash_ci_tb(id int,name varchar(30) DEFAULT NULL,create_time datetime DEFAULT NULL,primary key(id)) ENGINE = InnoDB DEFAULT CHARSET = utf8dbpartition by mod_hash_ci(ID)tbpartition by mod_hash_ci(ID) tbpartitions 4;
-
MySQL EXPLAIN 当您在需要执行的SQL语句前加上EXPLAIN,然后执行SQL时,您将会看到其具体的执行计划,以此分析耗时,进而修改SQL,达到优化的效果。 表1 EXPLAIN列的解释 列名称 描述 table 显示该行数据所归属的表。 type 显示连接使用了何种类型。连接类型按照执行速度从快到慢排序为:const、eq_reg、ref、range、index、ALL。 possible_keys 显示可能应用在该表中的索引。 key 实际使用的索引。如果为NULL,则没有使用索引。个别情况下,MySQL会选择优化不足的索引。在SELECT语句中使用USE INDEX(indexname)来强制使用一个索引或者用IGNORE INDEX(indexname)来强制MySQL忽略索引。 key_len 使用的索引的长度。在不损失精确性的情况下,长度越短越好。 ref 显示索引被使用的列,通常为一个常数。 rows MySQL用来返回请求数据的行数。 Extra 关于MySQL如何解析查询的额外信息。
-
操作步骤 登录分布式数据库中间件控制台。 在“参数模板”页面的“自定义”页签,选择一个用户创建的参数模板,单击“比较”。 您也可以在“参数模板”页面的“系统默认”页签,选择一个用户创建的参数模板进行比较。 选择不同参数模板,单击“确定”,比较两个参数模板之间的配置参数差异项。 图1 选择并比较参数模板 有差异项,则会显示差异参数模板的如下信息:参数名称、两个参数模板的参数值。 无差异项,则不显示。 图2 对比参数模板
-
DDL语法 拆分表和广播表不支持外键。 不支持修改分片字段(拆分键)。 不支持ALTER DATABASE Syntax。 不支持从另一张表创建新的拆分表、广播表。 create table不支持generated column语法。 不支持ALTER命令修改拆分键和全局序列字段。 不支持创建TEMPORARY类型的拆分表、广播表。 逻辑表名只允许字母(不区分大小写)数字以及下划线。 不支持CREATE TABLE tbl_name LIKE old_tbl_name。 不支持CREATE TABLE tbl_name SELECT statement。 不支持insert into on duplicate key update 更新拆分键值。 暂不支持跨Schema的DDL, 例如, CREATE TABLE db_name.tbl_name (… )。 使用MySQL关键字或保留字做表名、列名、索引名等标识符时,需要使用反引号扩起来。
-
DML语法 不支持PARTITION子句。 不支持UPDATE使用子查询。 不支持INSERT DELAYED Syntax。 不支持STRAIGHT_JOIN和NATURAL JOIN。 受限支持跨分片UPDATE多表需要join update的表需要有PK。 受限支持跨分片DELETE多表中的数据,需要Join delete的表需要有PK。 不支持SQL中对于变量的引用和操作。 例如: SET @c=1, @d=@c+1; SELECT @c, @d; INSERT或者UPDATE时,不支持插入或者更新拆分键值为DEFAULT关键字。 UPDATE不支持在一个语句中对同一字段重复更新。 UPDATE不支持关联更新拆分键。 UPDATE不支持自关联更新。 关联更新中,不支持在目标列的赋值语句或表达式中引用其它目标列,将造成更新结果不符合预期。 例如: update tbl_1 a,tbl_2 b set a.name=concat(b.name,'aaaa'),b.name=concat(a.name,'bbbb') on a.id=b.id; 当使用文本协议时,BINARY、VARBINARY、TINYBLOB、BLOB、MEDIUMBLOB、LONGBLOB数据必须转换成16进制数据。 DDM对非法数据的处理与后端MySQL的sql_mode有关。 关联更新不支持不带关联条件的Join。 SQL语句中表达式的因子数量请勿超过1000个。
-
注释说明 单行注释 使用井号(#)开头,后面直接写注释内容。#后面的所有内容直到行尾都被视为注释。 示例如下: SELECT * FROM customers; #注释内容 使用两个连续的短划线(--),但这种注释要求第二个短划线后面至少有一个空格符,否则可能不会被正确解析。 示例如下: SELECT * FROM Product; -- 注释内容 多行注释 以/*开始并且以*/结束,可以包含多行文本。这种方式允许注释跨越多行。 示例如下: /* 注释内容*/SELECT DISTINCT product_id, purchase_price FROM Product;
-
操作步骤 登录分布式数据库中间件控制台。 在实例管理列表页面,单击目标实例名称,进入实例基本信息页面。 单击“节点扩容”。如果您已经完成创建组操作,请在“组信息”模块中单击“操作”列的“节点扩容”。 在节点扩容页面,选择可用区和节点个数。 您可以单击操作列的“添加”,添加多个节点。一个DDM实例最多支持32个节点。 图1 节点扩容选择 设置完节点数,单击页面下方的“下一步”。 在规格确认页面,如果您需要重新修改节点数,请单击“上一步”,再次确认所选规格无误后,单击页面下方的“提交”,提交节点扩容任务。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格