PolarDB-X 1.0-SQL 手册-DDL任务管理-常见场景与限制

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介: 新DDL执行引擎引入任务管理,外部行为与之前版本相比有所变化。本文将介绍相关的常见场景与限制。

新DDL执行引擎引入任务管理,外部行为与之前版本相比有所变化。本文将介绍相关的常见场景与限制。

  • 典型的应用场景
  • DDL正常执行成功时,无需关注DDL任务的状态,已成功完成的DDL任务会被自动清理。
  • 建议执行DDL成功后,立即执行CHECK TABLE检查确认逻辑表的一致性。
  • DDL执行失败时,会返回导致失败的错误码和错误信息,您也可以通过SHOW DDL查看PENDING状态的DDL任务失败的原因(即REMARK字段中记录的信息)。建议您在排除导致DDL执行错误的因素后,再尝试执行DDL任务管理语句进行恢复、回滚或删除操作,否则DDL执行可能仍会失败。
  • 若DDL执行失败,对应的DDL任务处于PENDING状态时,出于保护目的,目标表会处于不可访问状态(SHOW TABLES等操作无法显示,DML等操作可能会收到Unknown tabledoesn't exist之类的报错),直到DDL任务通过恢复或回滚等方式使目标表达到一致性的状态后,该表才可以被正常访问。
  • 当为CREATE TABLE指定IF NOT EXISTS或者为DROP TABLE指定IF EXISTS时,一些执行过程中的错误不会导致 DDL失败,但会记录在warning警告中,请注意DDL执行后是否返回warning数量的消息(例如1 warning),并用SHOW WARNINGS语句检查警告,避免遗漏重要的信息。
  • 通过DMS等客户端工具执行DDL时,若无法评估DDL需要的执行时间,并且客户端工具本身带有超时中断连接(客户端与PolarDB-X之间的连接)的设置,为了避免DDL被超时中断,可启用PURE_ASYNC_DDL_MODE异步模式,执行后立即返回,继续通过SHOW DDL查看DDL任务状态
  • 通过DDL任务管理语句恢复、回滚或删除DDL任务后,也建议执行CHECK TABLE检查确认逻辑表的一致性。
  • DDL任务管理的限制
  • 仅支持CREATE TABLERENAME TABLE两种DDL回滚操作。
  • 不支持对处于PENDING状态的任务执行恢复(RECOVER DDL)和回滚(ROLLBACK DDL)的组合重复操作(如先回滚失败任务,回滚失败后再对任务进行恢复操作。此类组合操作有可能造成逻辑表的不一致状态,如果遇到此类复杂场景,请联系客服或提交工单解决问题。
  • REMOVE DDL要在非常确定安全性的前提下谨慎使用,若不确定则不应执行REMOVE DDL,误用可能造成DDL任务的中间状态暴露,出现逻辑表不一致的情况。如果因为误用REMOVE DDL产生问题或不确定的状态,请联系客服或提交工单解决问题。
  • 默认拆分表的单个物理库允许创建最多128个分表,您也可以通过如下参数调整上限。
  1. mysql> create table test_mdb_mtb (c1 intnotnull auto_increment primary key, c2 varchar(10), c3 date) dbpartition by hash(c1) tbpartition by hash(c1) tbpartitions 129;
  2. ERROR 4647(HY000):[f5bd90594800000][30.25.86.55:8527][JICHEN_LOCAL_APP]ERR-CODE:[TDDL-4647][ERR_TABLE_PARTITIONS_EXCEED_LIMIT]The number of table partitions '129' exceeds the upper limit '128'.Please specify less table partitions or adjust the value of the parameter MAX_TABLE_PARTITIONS_PER_DB.
  3. mysql>/*+TDDL:cmd_extra(MAX_TABLE_PARTITIONS_PER_DB=400)*/create table test_mdb_mtb (c1 intnotnull auto_increment primary key, c2 varchar(10), c3 date) dbpartition by hash(c1) tbpartition by hash(c1) tbpartitions 129;
  4. Query OK,0 rows affected (2.64 sec)
  • DDL执行引擎内部的任务队列,最多允许堆积65535个PENDING状态的DDL任务,超过此上限则无法执行DDL,需要通过 REMOVE DDL谨慎清理可删除的遗留任务,该数量限制无法通过参数调整上限。
相关文章
|
2月前
|
SQL 数据可视化 关系型数据库
MCP与PolarDB集成技术分析:降低SQL门槛与简化数据可视化流程的机制解析
阿里云PolarDB与MCP协议融合,打造“自然语言即分析”的新范式。通过云原生数据库与标准化AI接口协同,实现零代码、分钟级从数据到可视化洞察,打破技术壁垒,提升分析效率99%,推动企业数据能力普惠化。
241 3
|
存储 SQL 安全
应用案例|开源 PolarDB-X 在互联网安全场景的应用实践
中盾集团采用PolarDB-X云原生分布式数据库开源版本,有效解决了大数据量处理、复杂查询以及历史数据维护等难题,实现了业务的高效扩展与优化。
|
9月前
|
SQL 关系型数据库 分布式数据库
利用 PolarDB PG 版向量化引擎,加速复杂 SQL 查询!完成任务领发财新年抱枕!
利用 PolarDB PG 版向量化引擎,加速复杂 SQL 查询!完成任务领发财新年抱枕!
275 14
|
SQL 关系型数据库 分布式数据库
PolarDB产品使用问题之遇到慢SQL问题,该如何解决
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
SQL 存储 关系型数据库
|
SQL 关系型数据库 分布式数据库
PolarDB产品使用问题之sql运行报错是神么原因
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
SQL 关系型数据库 Serverless
PolarDB产品使用问题之如何控制队列中排队的SQL的等待时间
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
关系型数据库 分布式数据库 数据库
PolarDB产品使用问题之将RDS切换到PolarDB-X 2.0时,代码层的SQL该如何改动
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
SQL 关系型数据库 分布式数据库
PolarDB产品使用问题之出现部分SQL抛出7543错误,该如何解决
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
SQL 缓存 关系型数据库
PolarDB产品使用问题之SQL语句是否可以参数化
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。

相关产品

  • 云原生分布式数据库 PolarDB-X