• Navicat操作mysql分区


    1. 1、Range(范围) – 这种模式允许DBA将数据划分不同范围。例如DBA可以将一个表通过年份划分成三个分区,80年代(1980’s)的数据,90年代(1990’s)的数据以及任何在2000年(包括2000年)后的数据。
    2. 2、Hash(哈希) – 这种模式允许DBA通过对表的一个或多个列的Hash Key进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区。例如DBA可以建立一个对表主键进行分区的表。
    3. 3Key(键值) – Hash模式的一种延伸,这里的Hash Key是MySQL系统产生的。
    4. 4、List(预定义列表) – 这种模式允许系统通过DBA定义的列表的值所对应的行数据进行分割。例如:DBA建立了一个横跨三个分区的表,分别根据20042005年和2006年值所对应的数据。
    5. 5、Composite(复合模式) – 很神秘吧,哈哈,其实是以上模式的组合使用而已,就不解释了。举例:在初始化已经进行了Range范围分区的表上,我们可以对其中一个分区再进行hash哈希分区。

    注意分区的字段要设置成主键

    3c4ec09f7e1843e5b9dbcd8f8293a4d1.png

     

    1、hash分区,分好,在表结构就可以查看

    7af1dc513b3d4b12bfb56767245ecddd.png

    2、key分区和linear key分区一样的操作

    5931d4f36f5f4577bfff5523974bf7c5.png

    3、list分区,如下,相当数据库查询in,采用in分区

    create table category_part( cid int unsigned not null auto_increment,cname varchar(64) not null,parent_id int not null,primary key (cid,parent_id))

    partition by list(parent_id)(

    partition p1 values in (1,2,3,6,9),

    partition p2 values in (4,5,10,22,23),

    partition p3 values in (7,8,11,12,13),

    partition p4 values in (14,15,16,17,20),

    partition p5 values in (18,19,21,24,25)

    );

    e533133eec794009a5a14fd5039a6fcd.png

    4、RANGE分区,范围分区

    1. 两个分区,P0为小于10的分区,P11019的分区
    2. CREATE TABLE t (
    3.   id int
    4. PARTITION BY RANGE (id)(
    5.     PARTITION p0 VALUES LESS THAN (10) ,
    6.     PARTITION p1 VALUES LESS THAN (20)
    7. ) ;

    8a79b3d58d244eb2a97de6282f97830a.png

     

     

  • 相关阅读:
    django开发一个管理系统基于Python实现的酒店住房管理系统
    一文理解虚拟机栈
    ray tracing of Embree
    Python项目开发实战:怎么实现端口扫描器
    代码随想录算法训练营 动态规划part17
    NLP之TextRNN(预测下一个单词)
    【java基础系列】16- Java中怎么处理异常?
    python-列表解析、字典解析、集合解析
    BS系统的登录鉴权流程演变
    百万数据导出何如实现?
  • 原文地址:https://blog.csdn.net/qq_34631220/article/details/126816051