数据库表分区这个操作如果表已经很大了~达到3T这个量级,在PolarDB如果通过命令方式进行分区,对这个表有什么影响,分区期间会锁表无法使用吗?还是所有操作不影响?
当您的PolarDB表达到3T这样的大表规模,使用命令进行分区操作时,8.0.2版本及更高版本支持分区粒度锁,只锁定当前操作的分区,这意味着其他分区的读写(DML)操作可以正常进行,不会全局锁表。因此,分区操作期间,不会对整个表造成大面积的阻塞。不过分区操作仍然会有一定的性能损耗,特别是在切换分区间。分区表在某些查询场景下,特别是能利用分区键进行过滤时,性能会更优。分区功能是内核内置的,不会产生额外费用。参考文档
单表转分区表DDL执行期间会阻塞该表线上的写操作
单表转分区的话会锁表,可以查询,但是DML 和 DDL 都支持不了。 此回答整理自钉群“PolarDB专家面对面 - 大表&分区表& 冷温热数据管理& XEngine高压缩引擎功能”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云关系型数据库主要有以下几种:RDS MySQL版、RDS PostgreSQL 版、RDS SQL Server 版、PolarDB MySQL版、PolarDB PostgreSQL 版、PolarDB分布式版 。