前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >hhdb数据库介绍(10-35)

hhdb数据库介绍(10-35)

原创
作者头像
恒辉信达
发布2024-12-10 10:20:17
发布2024-12-10 10:20:17
650
举报
文章被收录于专栏:mysqlmysql

管理

表结构变更

管理平台通过表结构变更功能为用户提供在线执行DDL语句的入口。同时对表数据量大的业务表进行DDL操作时还可以选择在线DDL方式。

普通DDL

普通DDL即直接执行数据定义类型语句,例如CREATE\DROP\TRUNCATE\RENAME等。

  • 进入“管理->表结构变更->普通DDL”进入普通DDL操作界面
  • 在普通DDL操作界面中,输入用户名,密码(用户名密码为计算节点数据库的用户名密码)

注意 选择登陆的计算节点数据库用户,设置的“主机”范围必须包括当前管理平台所属服务器的IP地址,否则无法连接计算节点。

  • 选择对应操作的逻辑库后即可执行相关DDL语句
  • 目前界面执行建表语句单张表的列数不能超过4096列,输入框的输入最大字节不超过65535
  • 普通DDL页面点击【导入】按钮,可导入外部txt或sql类型的文件,文件导入输入框后需要手动点击执行,执行效果和手动输入DDL语句效果一致
  • 所有执行的普通变更记录均可以在普通变更历史记录内查看到
  • 普通DDL执行时,程序会默认为其添加algorithm=inplace属性执行(若存储节点为8.0版本,则优先使用instant属性执行),原语句不支持inplace方式执行时,会默认转换为普通DDL执行。
  • 表存在未提交事务时,对该表执行普通DDL会给出如下图提示信息,点击【确认】继续执行DDL语句,点击【取消】则取消执行DDL语句,点击【复制事务信息】则会复制json格式的事务信息到粘贴板。lastsql较长时,鼠标放置可显示事务详细信息

在线DDL

在线DDL即在管理平台的管理端(默认3325)使用Online DDL算法执行的变更语句,变更期间保证不影响执行IUD(INSERT、UPDATE、DELETE)语句,对系统冲击小,不影响业务,且可以使从机延迟的概率减小。但在线DDL的执行速度远远慢于普通DDL,对于大表,执行时间可能需要数十到数百小时。

  • 通过“数据管理->表结构变更->在线DDL”进入在线DDL操作界面
  • 在线DDL功能只能执行以Alter table 开头的DDL语句
  • 与普通DDL一样,需要输入用户名、密码连接具体计算节点的逻辑库
  • 目前界面执行建表语句单张表的列数不能超过4096列,输入框的输入最大字节不超过65535
  • 勾选“执行过程跳过主备数据一致性检测”,则执行在线DDL前,不会进行主备一致性检测,默认不勾选
  • 所有执行的在线变更记录均可以在“在线变更历史记录”内查看到:“当前正在执行的在线变更语句”用于查看正在执行的在线DDL任务,同时可以看到该任务正在执行的进度。“在线变更语句执行历史记录”,用于查看已经执行完成的在线DDL情况
  • 当有正在执行的在线DDL语句时候,可点击筛选按钮查看历史记录中与当前正在执行的表的相关的变更操作
  • 当有正在执行的在线DDL语句时,可点击当前任务右侧的取消按钮,取消本次变更操作,实际取消结果以最终状态为准
  • 在线DDL执行或取消成功后,会自动刷新“在线变更语句历史执行记录”列表
  • 表存在未提交事务时,对该表执行在线DDL会给出如下图提示信息,点击【确认】继续执行DDL语句,点击【取消】则取消执行DDL语句,点击【复制事务信息】则会复制json格式的事务信息到粘贴板。lastsql较长时,鼠标放置可显示事务详细信息
  • 若Server.xml参数inplaceOnlineDdlTakesPrecedence配置为0时,在线DDL均按原语句执行。配置为1时,所有执行onlineDDL都优先使用inplace的模式执行(即原语句添加algorithm=inplace属性执行,若存储节点为8.0版本,则优先使用instant属性执行),inplace方式不支持的情况下,再自动转换为原有的onlineDDL模式执行。

例如:参数inplaceOnlineDdlTakesPrecedence设置为1:

执行在线DDL:

代码语言:sql
复制
alter table tablea add column c int;

通过存储节点的general.log可查看下发到存储节点中的SQL如下:

代码语言:sql
复制
ALTER TABLE TABLEA ADD COLUMN C INT, ALGORITHM=INPLACE

SQL路由计划查看

在管理平台中可通过SQL路由计划查看功能解析在计算节点执行的SQL语句的路由下发情况。

  • 输入正确的用户名、密码,选择执行SQL的表所在的逻辑库
  • 输入需要解析的SQL语句,点击【执行】即可查看
  • 该功能同在服务端(默认3323)中执行EXPLAIN命令效果

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 管理
    • 表结构变更
      • 普通DDL
      • 在线DDL
    • SQL路由计划查看
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档