polardb for mysql,想把int改成bigint,是否会锁表?
在 PolarDB for MySQL 中,当你需要修改表结构时,例如将一个 INT
类型的列改为 BIGINT
类型,这通常涉及到表结构的变更。这种类型的 DDL(数据定义语言)操作可能会导致表被锁定一段时间。
在 MySQL 中,ALTER TABLE 操作可能会导致不同程度的锁,这取决于具体的更改类型以及 MySQL 版本。对于简单的数据类型更改,如从 INT
到 BIGINT
,MySQL 通常不需要重建整个表,因此这种更改往往不会引起长时间的锁。
然而,在 PolarDB for MySQL 中,为了尽可能减少对应用程序的影响,当执行某些 DDL 操作时,系统会采用一些优化策略来减少锁表时间和影响范围。这些策略包括但不限于:
INT
转换到 BIGINT
并且没有涉及其他复杂的 DDL 操作(如添加唯一索引或主键),那么这个操作通常是快速的,且不太可能产生长时间的锁。INT
到 BIGINT
这样的简单类型转换在 PolarDB for MySQL 中通常不会导致长时间的锁表。如果你有特定的场景或者需要了解更详细的策略,建议查阅 PolarDB 的官方文档或者联系技术支持获取更准确的信息。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about