概论:

  分区表一般用作Mysql库表的水平切割(也就是常说的mysql性能优化的几种通用手法“读写分离、分库分表”中的一种),适用于单表的数据量可能很大的场景。因为分区表可以将一个超大的B+树切割为若干个较小的B+树。

  类似Hive的分区表的作用,故:实际的mysql数据表也被物理切割为若干,类似下面:

    1)先去data目录,如果不知道目录位置的可以执行:

        Mysql的分区表_MySQL

     2)再看内部mysql表的实际存储文件,被成功物理切割为若干分区(注意:从MySql 5.7.6开始不再创建.par分区文件,分区定义存储在内部数据字典中):

        Mysql的分区表_mysql_02 

 

典型使用场景举例:

  假如厂家每月的订单数据特别多,所有数据存储在一张表中,每月、每季度甚至于每年出总结报告的时候就会特别卡,于是我们可以通过设置分区表来缩短产出报表的时间。最终的分区效果如下所示:

    Mysql的分区表_sql_03