分区表是什么
分区表就是把一张表的数据,按照设置好的条件,单独存储在磁盘的不同位置,也就是不同分区的数据是独立的,互不影响的。
在没有分区表的情况下,一张表的数据就是存储在一个文件中,用了分区表之后,单张表的数据会在硬盘上分开存储。对表的操作来说,没有什么区别。
分区表的优点
- 更少的数据检索范围
- 拆分超级大的表,将部分数据加载至内存
- 分区表的数据更容易维护
- 分区表数据文件可以分布在不同的硬盘上,并发 IO
- 减少锁的范围,避免大表锁表
- 可独立备份,恢复分区数据
什么时候创建分区表
当单张表的数据量较大,且因为数据量大,导致查询无法满足要求。
不想做分库分表这样大的改动。
未创建分区表的情况
看下如果不创建分区表,查询是怎么样的,可以和创建分区表的情况做对比,这样更好理解。
CREATE TABLE test_partition ( id int(11) NOT NULL, create_time datetime NOT NULL, cyear int, PRIMARY KEY (id,create_time , cyear) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
INSERT INTO test_partition VALUES (1,"20130722000000",2013);
INSERT INTO test_partition VALUES (2,"20140722000000",2014);
INSERT INTO test_partition VALUES (3,"20150722000000",2015);
INSERT INTO test_partition VALUES (4,"20160722000000",2016);
INSERT INTO test_partition VALUES (5,"20170722000000",2017);
INSERT INTO test_partition VALUES (6,"20180722000000",2018);
INSERT INTO test_partition (,"20190722000000",);
test_partition (,"20200722000000",);
test_partition (,"20210722000000",);
test_partition (,"20220722000000",);





