设为首页 加入收藏

TOP

MySQL普通表转换为分区表(MySQL-5.6.25,MySQL-5.7.7-rc)
2015-08-31 20:00:17 来源: 作者: 【 】 浏览:63
Tags:MySQL 普通 转换 分区表 MySQL-5.6.25 MySQL-5.7.7-rc

考虑到设计人员没有规划好表的容量,某些业务表体积过大以后,需要将以前的表转换为分区表的需求,简单记录一下MySQL的分区表转换功能,


测试环境:MySQL-5.6.25和MySQL-5.7.7-rc


先在MySQL-5.7.7-rc环境下建表



插入数据



试一下如下语句:ALTER TABLE students PARTITION BY KEY(sid) PARTITIONS 2;



ok成功了.......看上去这样子比百度方法"中间表->锁表->导数据->rename"要方便很多?


是的,反正都会锁表,虽然时间和效率上面不知道优劣,但是反正要锁表,都要停止这个表上的业务不是么...........


那么,转换分区表以后,原有的数据会不会自动转移到新的分区表里面去呢?


重新建表,添加数据,换一个分区方式试一下



查看分区的数据



如预想一般


如果有严格的不能停业务的要求,那么用主从结构,从库(别开只读)的这张表事先建立为分区表,然后进行同步,找个合适的时机把应用层的DB config换掉就好(好像还是有一小段时间的停机?就算用双主也还是会有一致性的问题,应用层的短暂停止就当做没有吧OTZ.....)


---------------------------------------------------------这只是一篇简单的,简短的,偷懒没有进行详细性能效率对比的,博客的小尾巴,over撒花~-------------------------------------------------------------


附上MySQL-5.6.25的截图




】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Oracle 11g DataGuard使用总结 下一篇MySQL转换分区表&索引重用

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·nginx 监听一个端口 (2025-12-25 00:19:30)
·整个互联网就没有一 (2025-12-25 00:19:27)
·囧次元最新官网入口 (2025-12-25 00:19:24)
·如何利用Python做数 (2025-12-24 23:48:36)
·如何使用python进行 (2025-12-24 23:48:34)