开门见山
通俗而言,分区即将某个表(通常都是大表)分为几个部分,一般商用数据库均支持分区,用于突破OS对文件大小的限制,也为了加速对大表的查询。如Oracle分区表可以将表的不同部分存储到不同的表空间。同样,MySQL因默认开启innodb_file_per_table选项,其每张表对应一个数据文件(即为表空间),因而MySQL的分区也是表的不同部分存储到不同数据文件(表空间)中。
MySQL分区又称水平分区,即水平的将表行数据划分到不同子集,不同子集的划分取决于分区函数。MySQL支持四种分区类型,分别为:RANGE、LIST、HAS、KEY,不同分区类型还支持不同的变体。下面将详细描述此四种分区,并给出相关建表语法示例。
range分区
range分区使用连续而而不重叠的范围对表进行分区。如序号1~1000、1001~2000、2001~maxvalue等;
建表语句
creat