博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MySQL数据库表分区
阅读量:5022 次
发布时间:2019-06-12

本文共 2735 字,大约阅读时间需要 9 分钟。

概述

    不过使用表分区有个前提就是你的数据库必须支持. 那么,怎么知道我的数据库是否支持表分区呢?
    执行命名 mysql> show plugins:
    在返回的数据里面找到partition开头的信息,如下:
    partition | ACTIVE | STORAGE ENGINE | NULL | GPL
    如果后面partition跟的是ACTIVE则表示可以的.
 
数据库的表分区一般有两种方式:水平和垂直
    -水平分区是将表的数据按行分割成不同的数据文件;
    -垂直分区是将表的数据按列分割成不同的数据文件;
示例1:
    1.创建表格,并进行分区.
        注意下面这段代码是一个整体,只有结尾有一个分号(;).
        create table userinfo(
            user_id int primary key auto_increment,
            user_name varchar(20) not null default 'apollo'
        )
        partition by range(user_id)(
            partition p1 values less than (10),
            partition p2 values less than (20),
            partition p3 values less than maxvalue
        );
    2.给新建的表格插入数据
        insert into userinfo values(3,'apollo');
        insert into userinfo values(13,'jack');
        insert into userinfo values(23,'merry');
    3.查询每个分区的数据
        select * from userinfo partition(p1);
        select * from userinfo partition(p2);
        select * from userinfo partition(p3);
示例2:
    1.创建表格,并进行分区.
        注意下面这段代码是一个整体,只有结尾有一个分号(;).    
        create table if not exists staffinfo(  
        id int(11) not null auto_increment comment '用户ID',  
        name varchar(50) not null default '' comment '名称',  
        gender int(1) not null default '0' comment '0为男,1为女',  
        primary key (id)
        ) engine=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1  
        PARTITION BY RANGE (id) (  
             PARTITION p0 VALUES LESS THAN (5),  
             PARTITION p1 VALUES LESS THAN (10),  
             PARTITION p2 VALUES LESS THAN (15),  
             PARTITION p3 VALUES LESS THAN (20),  
             PARTITION p4 VALUES LESS THAN MAXVALUE  
        );  
    2.给新建的表格插入数据
        insert into staffinfo (null,'Ian',0);
        insert into staffinfo (null,'Idell',0);
        insert into staffinfo (null,'Jack',0);
        insert into staffinfo (null,'Jackie',0);
        insert into staffinfo (id,name,gender)values
        (null,'Amour',1),
        (null,'Ampere',0),
        (null,'Amphlet',0),
        (null,'Amphlett',0);
        insert into staffinfo values
        (null,'Baade',0),
        (null,'Bab',0),
        (null,'Baitson',1),
        (null,'Bairnsfather',0);
        insert into staffinfo (name,gender)values
        ('Cahill',1),
        ('Dagmar',0),
        ('Earl',0),
        ('Fabian',1);
        insert into staffinfo (name,gender)values
        ('Gabriel',1),
        ('Hackett',0),
        ('Hahn',0),
        ('Hailey',0);    
        insert into staffinfo (name,gender)values
        ('Kaley',1),
        ('Lacey',0),
        ('Lake',0),
        ('Nadine',0),
        ('Oakes',0),
        ('Queenie',0),
        ('Sabina',0),
        ('Tabitha',0),
        ('Ulysses',0),
        ('Valentin',0),
        ('Waddell',0),
        ('Xavier',0),
        ('Yarbrough',0),
        ('Mabel',0);    
    3.查询id字段的个数
        mysql> select count(id) as count from staffinfo;
        +-------+
        | count |
        +-------+
        |    13 |
        +-------+
        1 row in set (0.00 sec)
    4.查询每个分区的数据
        select * from staffinfo partition(p1);
        select * from staffinfo partition(p2);
        select * from staffinfo partition(p3);
        select * from staffinfo partition(p4);
        select * from staffinfo partition(p5);
    5.删除分区4的数据
    alter table staffinfo drop partition p4;
    
总结:
    分区的最小区块是4K
    ENGINE=MyISAM: 使用MyISAM引擎
    DEFAULT CHARSET=utf8: 数据库默认编码为utf-8
    AUTO_INCREMENT=1: 自增键的起始序号为1

转载于:https://www.cnblogs.com/apollo1616/articles/9820420.html

你可能感兴趣的文章
linux支持FTP和SFTP服务【1】
查看>>
树的递归与非递归遍历方法
查看>>
每天一个Linux命令(6):rmdir命令
查看>>
oracle连接的三个配置文件(转)
查看>>
Vim配置文件(Vimrc)
查看>>
RecyclerView 局部刷新(获取viewHolder 去刷新)
查看>>
PHP表单(get,post)提交方式
查看>>
使用vbs或者bat脚本修改IE浏览器安全级别和选项
查看>>
Silverlight入门
查看>>
Silverlight动态调用WEBSERVICE,WCF方法
查看>>
LeetCode 895. Maximum Frequency Stack
查看>>
模仿segmentfault 评论
查看>>
一个简单的日志函数C++
查看>>
Java 8 中如何优雅的处理集合
查看>>
IOS程序的启动过程
查看>>
连接Linux下 XAMPP集成环境中部署的禅道的数据库MariaDB
查看>>
Java操作Excel和Word
查看>>
Oracle 体系结构之ORACLE物理结构
查看>>
ORA-12538: TNS: no such protocol adapter
查看>>
盒子模型
查看>>