设为首页 收藏本站
查看: 716|回复: 0

[经验分享] mysql表分区实验总结

[复制链接]

尚未签到

发表于 2018-10-1 15:28:33 | 显示全部楼层 |阅读模式
分区管理--测试总结:  

  
删除分区:
  
ALTER TABLE tablename REMOVE PARTITIONING ; --  删除分区定义,所有数据集中到一个表,数据不丢失
  
ALTER TABLE bc DROP PARTITION p1;           --删除分区的同时会删除分区中的数据
  

  
修改分区:
  
ALTER TABLE nb PARTITION BY HASH(id) PARTITIONS 2;  --Hash分区重新定义为两个,并会重新分配数据
  

  
合并分区
  
ALTER TABLE  bc  REORGANIZE  PARTITION   p1,p0 INTO ( PARTITION p6 VALUES IN (10,20,30,40));  --将BC表中的p0,p1分区合并到p6分区,并且p0,p1的
    值必须包含在新的分区内,否则不在新区
      中的数据会丢失;
        

        
      ALTER TABLE a  REORGANIZE  PARTITION p0,p1,p2 INTO (PARTITION p0 VALUES LESS THAN (500),PARTITION p1 VALUES LESS THAN maxvalue);  --重定义分区结构:将Range分区p1,p2合并到p0分区,由于原p2分区是maxvalue值,所以还得同时增加一个新的maxvalue分区,否则报错。
        

        
      拆分分区:
        

        

        

        
      添加分区:
        

        
      未有分区的情况下:
        
      ALTER TABLE nb PARTITION BY HASH(id) PARTITIONS 2; --用id 列给表分两个hash分区;如果有unique键,要先删除.
        

        
      ALTER TABLE a  PARTITION BY RANGE(id)(            --a 表无分区.
        
      PARTITION p0  VALUES LESS THAN (1000),
        
      PARTITION p1  VALUES  LESS THAN (2000),
        
      PARTITION  p2  VALUES LESS THAN  maxvalue)
        
      --------------------------------------------------------------------
        

        
      ALTER TABLE bc  PARTITION BY LIST(par_no) (PARTITION p1             ----为未定义分区表的BC表添加两个list分区;
        
      VALUES IN (10,20,30),PARTITION p2 VALUES IN (40,50,60,70,80));
        

        

        
      已有分区的情况下:
        
      合并分区:
        
      ALTER TABLE abc  REORGANIZE  PARTITION  p2 INTO (
        
      PARTITION p2 VALUES LESS THAN (6000),PARTITION p3 VALUES LESS THAN maxvalue);           --重新定义Range分区p2,并新加一个p3分区,p2分区的值不能小于现有的最大值,且须新境一个包含最大值(Maxvalue)的新分区,否则报错
        

        
      ALTER TABLE bc  ADD PARTITION  (PARTITION p3 VALUES IN (20,30));--添加一个list分区
        

        
      ALTER TABLE nb ADD PARTITION PARTITIONS 2;  --(Hash分区),新加后现有分区里的数据会平滑分摊到新分区,myisam引擎在上面的查询语句中可以体现出来,innodb引擎则计数信息丢失,从0开始重新计数,但表中数据变不会丢失.



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-607262-1-1.html 上篇帖子: mysql 主备XtraBackup恢复 下篇帖子: MySQL 数字类型的思考
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表