【笔记】开发指南—常见问题—DDL常见问题

简介: 本文汇总了PolarDB-X上常见的DDL执行问题。

创建表执行出错

DDL的执行是一个分布式处理过程,出错可能导致各个分片表结构不一致,所以需要进行手动清理,详细操作步骤如下:

  1. PolarDB-X会提供基本的错误描述信息,比如语法错误等。如果错误信息太长,则会提示您使用SHOW WARNINGS来查看每个分库执行失败的原因。
  2. 执行SHOW TOPOLOGY命令来查看物理表的拓扑结构。
SHOW TOPOLOGY FROM multi_db_multi_tbl;
 +------+-----------------+-----------------------+
 | ID   | GROUP_NAME      | TABLE_NAME            |
 +------+-----------------+-----------------------+
 |    0 | corona_qatest_0 | multi_db_multi_tbl_00 |
 |    1 | corona_qatest_0 | multi_db_multi_tbl_01 |
 |    2 | corona_qatest_0 | multi_db_multi_tbl_02 |
 |    3 | corona_qatest_1 | multi_db_multi_tbl_03 |
 |    4 | corona_qatest_1 | multi_db_multi_tbl_04 |
 |    5 | corona_qatest_1 | multi_db_multi_tbl_05 |
 |    6 | corona_qatest_2 | multi_db_multi_tbl_06 |
 |    7 | corona_qatest_2 | multi_db_multi_tbl_07 |
 |    8 | corona_qatest_2 | multi_db_multi_tbl_08 |
 |    9 | corona_qatest_3 | multi_db_multi_tbl_09 |
 |   10 | corona_qatest_3 | multi_db_multi_tbl_10 |
 |   11 | corona_qatest_3 | multi_db_multi_tbl_11 |
 +------+-----------------+-----------------------+
 12 rows in set (0.21 sec)
  1. 执行CHECK TABLE tablename语句来查看逻辑表是否创建成功。例如下面的例子展示了multi_db_multi_tbl的某个物理分表没有创建成功时的情况。
mysql> check table multi_db_multi_tbl;

+-------------------------------------------------+-------+----------+---------------------------------------------------------------------------+
| TABLE | OP | MSG_TYPE | MSG_TEXT |
+-------------------------------------------------+-------+----------+---------------------------------------------------------------------------+
| andor_mysql_qatest. multi_db_multi_tbl | check | Error | Table 'corona_qatest_0. multi_db_multi_tbl_02' doesn't exist |
+-------------------------------------------------+-------+----------+---------------------------------------------------------------------------+
1 row in set (0.16 sec)
  1. 使用幂等的方式重新执行建表或删表操作,该操作会创建或删除剩余的物理表。
CREATE TABLE IF NOT EXISTS table1
(id int, name varchar(30), primary key(id))
dbpartition by hash(id);
DROP TABLE IF EXISTS table1;

建索引失败或加列失败

建索引失败或加列失败的处理方法跟上面建表失败的处理类似,详情请参见如何正确处理DDL异常


相关文章
|
1月前
|
人工智能 小程序 vr&ar
AR体感游戏,拓宽AI运动小程序的应用边界
AR体感游戏融合AI与AR技术,通过摄像头捕捉动作,将运动变为趣味互动。无需穿戴设备,手机即可畅玩,适合全年龄段,尤其激发低龄儿童运动兴趣。沉浸式体验让锻炼如游戏般上瘾,广泛应用于赛事、团建、校园及康复场景,借助AI运动识别插件,开发更高效便捷。
|
2月前
|
人工智能 自然语言处理 搜索推荐
智能体来了+培育AI智能体开发与应用新生态
随着AI智能体(Agent)技术成为下一代人工智能的核心,其开发与应用正面临从技术探索到产业落地的关键挑战。阿里云通过强大的计算基础、模型服务与开发平台,正积极构建覆盖技术、人才与产业的“AI智能体就业培训”新生态,助力开发者和企业拥抱智能体时代。
154 1
|
2月前
|
供应链 安全 算法
区块链技术探索与应用:从密码学奇迹到产业变革引擎
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。以代码为舟,算法为帆,在区块链的浩瀚星河中探索去中心化的未来。从智能合约到DeFi,用极客精神谱写信任新篇章。
区块链技术探索与应用:从密码学奇迹到产业变革引擎
|
1月前
|
机器学习/深度学习 JSON 搜索推荐
1688图片搜索API技术文档
1688图片搜索API(拍立淘)是阿里巴巴官方图像搜货工具,支持通过图片URL或Base64编码查找1688平台同款或相似商品。基于深度学习技术,精准匹配商品ID、标题、价格、销量、供应商等全维度信息,命中率超85%,单次响应≤1秒,支持批量调用与分页排序,适用于电商比价、选品采购等场景。
|
2月前
|
监控 Java 测试技术
JMeter 分布式压测指南:深入挖掘系统性能极限
本文针对单机压测的性能瓶颈,分享了JMeter分布式压测的实战经验。通过Master-Slave架构突破单机限制,结合Ansible实现高效节点管理,详细介绍了从需求分析、脚本设计到环境部署的全流程解决方案,为高并发性能测试提供实用指导。
|
缓存 安全 前端开发
Verdaccio私仓搭建的一些注意点和姿势
为什么会搞这个? 是想把我们公司的npm私有仓从nexus迁移出来. 我们目前和后端共用nexus,因为nexus也能管理maven这些! npm私有仓库独立出来,后续好推向整个公司!! 我们这里采用docker自己部署(用的是v4.6.x),方便后续滚动更新. 配置文件及模块缓存目录是从外部映射进去,维护比较弹性 外网访问是通过nginx代理,内网集群是通过安全组策略授权.
1688 0
|
机器学习/深度学习 Ubuntu Linux
操作系统实验一到实验九合集(哈工大李治军)(三)
操作系统实验一到实验九合集(哈工大李治军)(三)
826 0
操作系统实验一到实验九合集(哈工大李治军)(三)
|
弹性计算 数据可视化 搜索推荐
阿里云服务器镜像是什么意思?
阿里云服务器镜像是什么意思?镜像就是操作系统,镜像可以理解为云服务器的装机盘,镜像可选Linux系统或Windows操作系统,也可以选择预置了应用程序的镜像系统。
1037 0
阿里云服务器镜像是什么意思?
|
安全 Linux 网络安全
[OS-Linux] CentOS 7.x 使用密钥登录安全设置
[OS-Linux] CentOS 7.x 使用密钥登录安全设置
1095 0
[OS-Linux] CentOS 7.x 使用密钥登录安全设置
|
消息中间件 存储 缓存
微服务2:微服务全景架构
微服务2:微服务全景架构
367 0
微服务2:微服务全景架构