分区定义:
当表中储存的数据过多时采用分区进行优化,分区就是将一张表分成几个区域进程存储,其本质是一个区一个表只是分出区域的表结构都相同,也都存在于一个表结构文件里,当存储数据的时候不再需要对整张表进行操作了,只对这张表的某一个区域进行操作,从而提高存储效率,参与分区的参数字段需要为主键的一部分,分区和mysql引擎没有关系。
分区有4种算法:
key ,hash这两种算法属于取余分区算法,属于平均分配
1.key算法:
可以按照某个字段进行取余。
案例:
//新建表partition_1里字段有id和title
//partition by key (id)partitions 5; 根据id进行key 分区,分成5个区
2.hash算法:
可以按照某个表达式的值进行取余。
案例:
list,range这两种算法属于条件分区算法,需要指定每个分区的存储条件,
3. list算法
条件依赖的数据是列表形式
案例:按照生日中的月份,分成春夏秋冬4个分区</