对已有的表进行分区

-- 备份表:表结构、表数据、表分区
-- CREATE TABLE my_tables_backup LIKE my_tables;
-- INSERT INTO my_tables_backup SELECT * FROM my_tables;
-- SELECT COUNT(*)  FROM `my_tables_backup` ;

-- ALTER TABLE my_tables ADD UNIQUE KEY tmp_uid_id (id, uid);
-- ALTER TABLE my_tables DROP PRIMARY KEY;
-- ALTER TABLE my_tables ADD PRIMARY KEY (id, uid);
-- ALTER TABLE my_tables DROP INDEX tmp_uid_id;
-- 1. 删除原来的不合法唯一索引
-- ALTER TABLE my_tables DROP INDEX uk_uuid;

-- 2. 创建合法的唯一索引
-- ALTER TABLE my_tables ADD UNIQUE KEY uk_uuid (uid, uuid);

-- 3. 添加分区
-- ALTER TABLE my_tables PARTITION BY HASH(uid) PARTITIONS 10;
3w 数据 执行时间 3s 822ms

  • 参考文档
https://help.aliyun.com/zh/polardb/polardb-for-mysql/user-guide/convert-a-normal-table-to-a-partitioned-table?spm=a2c4g.11186623.help-menu-2249963.d_5_20_4_0.6c6666c43nSMP5&scm=20140722.H_2574075._.OR_help-T_cn~zh-V_1#20ad1f005berb
posted @ 2025-08-13 20:09  Hello_worlds  阅读(3)  评论(0)    收藏  举报