即时部署请求
PlanetScale 现支持在合格的部署请求中进行即时部署,显著缩短模式部署的运行时间,几乎达到“瞬时”完成。这一选项是每次部署请求的手动选择,同时我们仍然提供 Online DDL 作为默认且最安全的模式变更策略。
什么是即时部署?
要满足即时部署的条件,请求中的更改必须完全可以通过 INSTANT DDL 实现,包括:
- 一个或多个通过 MySQL 的 INSTANT DDL 支持的
ALTER TABLE
语句。 - 可选:创建或删除任意数量的表。
- 可选:创建、修改或删除任意数量的视图。
关于 MySQL 中 INSTANT DDL 的更多信息,可以参考我们的文章:MySQL 在线模式迁移的现状。简单来说,MySQL 对某些变更提供了 INSTANT 算法的支持,例如:
- 添加新列;
- 更改列的默认值;
- 其他小型非破坏性更改。
在某些情况下,Online DDL 操作可能需要几个小时来完成对大型表的模式变更,而使用即时部署仅需几秒钟即可完成。PlanetScale 会预先评估部署是否符合即时部署条件,并向用户提供选择提示:
即时部署选项截图
Caveats(限制与注意事项)
尽管即时部署效率极高,但它也伴随着一些注意事项:
- 不可撤销:一旦部署完成,无法回滚变更。
- 锁定问题:在某些工作负载下,迁移的表可能会出现数秒(甚至更长)的锁定状态。
默认策略:Online DDL
基于上述原因,PlanetScale 仍将 Online DDL 作为默认模式变更策略。用户需要显式选择即时部署,仅在完全理解相关风险时使用此选项。即时部署的设计目标是补充而非取代现有的安全策略,为用户提供面对特定需求时的更快解决方案。
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接
本文链接:https://choupangxia.com/2025/09/14/instant-deploy-requests/