PlanetScale 现支持在合格的部署请求中进行即时部署,显著缩短模式部署的运行时间,几乎达到“瞬时”完成。这一选项是每次部署请求的手动选择,同时我们仍然提供 Online DDL 作为默认且最安全的模式变更策略。


什么是即时部署?

要满足即时部署的条件,请求中的更改必须完全可以通过 INSTANT DDL 实现,包括:

  1. 一个或多个通过 MySQL 的 INSTANT DDL 支持的 ALTER TABLE 语句。
  2. 可选:创建或删除任意数量的表。
  3. 可选:创建、修改或删除任意数量的视图。

关于 MySQL 中 INSTANT DDL 的更多信息,可以参考我们的文章:MySQL 在线模式迁移的现状。简单来说,MySQL 对某些变更提供了 INSTANT 算法的支持,例如:

  • 添加新列;
  • 更改列的默认值;
  • 其他小型非破坏性更改。

在某些情况下,Online DDL 操作可能需要几个小时来完成对大型表的模式变更,而使用即时部署仅需几秒钟即可完成。PlanetScale 会预先评估部署是否符合即时部署条件,并向用户提供选择提示:

即时部署选项截图


Caveats(限制与注意事项)

尽管即时部署效率极高,但它也伴随着一些注意事项:

  1. 不可撤销:一旦部署完成,无法回滚变更。
  2. 锁定问题:在某些工作负载下,迁移的表可能会出现数秒(甚至更长)的锁定状态。

默认策略:Online DDL

基于上述原因,PlanetScale 仍将 Online DDL 作为默认模式变更策略。用户需要显式选择即时部署,仅在完全理解相关风险时使用此选项。即时部署的设计目标是补充而非取代现有的安全策略,为用户提供面对特定需求时的更快解决方案。



即时部署请求插图

关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台

除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接

本文链接:https://choupangxia.com/2025/09/14/instant-deploy-requests/