mysql数据库分区表

更新时间:01-23 教程 由 别想 分享

MySQL数据库分区表是一种将单个的逻辑表拆分成多个物理表的技术。它可以使得MySQL数据库处理大数量级的数据时,提高查询速度和降低维护成本。MySQL的分区表将数据根据一定的规则进行拆分存储,每个分区成为独立的表。

例如,当一张表拥有十亿条记录时,每次查询都需要遍历全部数据,会增加数据库的负载,造成查询慢的问题。而如果拆分成若干个分区表,每个分区表存储若干数据,将数据的文件进行分割存储,就可以避免每次查询都遍历全部数据,从而查询速度更快。

CREATE TABLE `emp` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(20) NOT NULL DEFAULT '',`age` int(11) NOT NULL DEFAULT '0',`salary` double NOT NULL DEFAULT '0',`hiredate` date NOT NULL DEFAULT '0000-00-00',PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4PARTITION BY RANGE (`id`) (PARTITION p0 VALUES LESS THAN (100000),PARTITION p1 VALUES LESS THAN (200000),PARTITION p2 VALUES LESS THAN (300000),PARTITION p3 VALUES LESS THAN (400000),PARTITION p4 VALUES LESS THAN (500000),PARTITION p5 VALUES LESS THAN (600000),PARTITION p6 VALUES LESS THAN (700000),PARTITION p7 VALUES LESS THAN (800000),PARTITION p8 VALUES LESS THAN (900000),PARTITION p9 VALUES LESS THAN MAXVALUE);

上述代码是以主键id作为分区规则,将一个表分为10个分区表。当数据量过大时,可以根据实际情况设置更多的分区。

在使用分区表时需要注意的是,必须使用MySQL 5.1以上版本,同时还需要了解MySQL的存储引擎InnoDB、MyISAM和MEMORY三种的特点及其支持的分区方式。

声明:关于《mysql数据库分区表》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2257363.html