概念
表分区顾名思义就是将一张表分为几个区域,并且按照一定规则将不同的数据放到不同的区域。这样可以在数据大时候查找缩小查找数据范围,提高查询效率。如果要让一个表成为分区表,必须在创建的时候就需要对表进行分区,不然跟普通表没有区别。
查看
那如何查看数据库是否支持表分区呢?MySQL可以输入 show plugins;
partition | ACTIVE | STORAGE ENGINE | NULL | GPL |
如果有上面标记的partition行就说明支持表分区;
MySQL分区类型
根据所使用的不同分区规则可以分成几大分区类型。
• RANGE 分区:
基于属于一个给定连续区间的列值,把多行分配给分区。
• LIST 分区:
类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。
• HASH分区:
基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL中有效的、产生非负整数值的任何表达式。
• KEY分区:
类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL服务器提供其自身的哈希函数。必须有一列或多列包含整数值。