萨尔法保护 发表于 2018-9-26 13:56:36

【MYSQL】 分区表

  对于MYSQL的态度一直都是会基本SQL和简单命令就行,最近处理一个数据量很大的项目,为了提高效率,在数据库方面的瓶颈上,选择了使用分区表来提高查询效率。至此和大家一起分享一下。
  1.引言
  本文初略的讲述了mysql数据库如何分区表。
  2.环境要求
  在5.1版本中不是默认就安装了,而在之后版本中一般默认选择了安装分区表支持。可以通过如下方式查看当前数据库是否支持分区表操作:

  使用show variables like '%partition%';如果不支持分区,那么value字段值为No。
  3.重要概念描述
  3.1 分区字段
  1)当仅存在单一主键时,不存在唯一键,那么分区字段必须是主键字段;
  2)当存在复合主键时,不存在唯一键,那么分区字段必须是主键组合的一部分字段,一个或多个。
  3)当主键和唯一键都存在时,那么分区字段必须同时包括主键字段和唯一键字段。
  4.分区表类型
  4.1 range分区
  1)语法展示:
# 语法  
# 在创建表单的最后,添加partitions by range(分区字段)(
  
#   partition 分区名 values less than(阀值1),
  
#   partition 分区名 values less than(阀值2),
  
#   ...
  
#   partition 分区名 values less than(阀值n),
  
# )
  示例展示:
create table test_range(  id int auto_increment,
  description varchar(50),
  primary key(id)
  
) ENGINE=InnoDB auto_increment=1 default
  
partition by range(id)(
  partition p1 values less than(6), #id
页: [1]
查看完整版本: 【MYSQL】 分区表