最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

MySQL分区_MySQL

来源:动视网 责编:小采 时间:2020-11-09 19:24:28
文档

MySQL分区_MySQL

MySQL分区_MySQL:分区主要分为垂直分区和水平分区两种: 垂直分表将一个N1+N2个字段的表Tab拆分成N1字段的子表Tab1和(N2+1)字段的子表Tab2; 其中子表Tab2包含了关于子表Tab1的主键信息,否则两个表的关联关系就会丢失。 当然垂直分表会带来程序端SQL的修改,若是应用程序
推荐度:
导读MySQL分区_MySQL:分区主要分为垂直分区和水平分区两种: 垂直分表将一个N1+N2个字段的表Tab拆分成N1字段的子表Tab1和(N2+1)字段的子表Tab2; 其中子表Tab2包含了关于子表Tab1的主键信息,否则两个表的关联关系就会丢失。 当然垂直分表会带来程序端SQL的修改,若是应用程序


分区主要分为垂直分区和水平分区两种:


垂直分表将一个N1+N2个字段的表Tab拆分成N1字段的子表Tab1和(N2+1)字段的子表Tab2;

其中子表Tab2包含了关于子表Tab1的主键信息,否则两个表的关联关系就会丢失。

当然垂直分表会带来程序端SQL的修改,若是应用程序已经应用很长的一段时间,然后程序的升级将是耗时而且易出错的,即升级的代价将会很大。


水平分区技术将一个表拆成多个表,比较常用的方式是将表中的记录按照某种Hash算法进行拆分,

简单的拆分方法如取模方式。

同样,这种分区方法也必须对前端的应用程序中的SQL进行修改方可使用。

而且对于一个SQL,它可能会修改两个表,那么你必须得写成2个SQL语句从而可以完成一个逻辑的事务,使得程序的判断逻辑越来越复杂,这样也会导致程序的维护代价高,也就失去了采用数据库的优势。

因此,分区技术可以有力地避免如上的弊端,成为解决海量数据存储的有力方法。



SHOW VARIABLES命令来确定MySQL是否支持分区

show variables like "%partition%" ; 

+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| have_partitioning | YES |
+-------------------+-------+


MySQL 分区引擎在一个单独的层中运行,并且可以和任何这样的层进行相互作用

同一个分区表的所有分区必须使用同一个存储引擎

为某个分区表配置一个专门的存储引擎,必须且只能使用[STORAGE] ENGINE 选项。

[STORAGE] ENGINE必须列在用在CREATE TABLE语句中的其他任何分区选项之前


可以通过使用用来创建分区表的CREATE TABLE语句的PARTITION子句的DATA DIRECTORY(数据路径)和INDEX DIRECTORY(索引路径)选项,为每个分区的数据和索引指定特定的路径。

MAX_ROWS和MIN_ROWS选项可以用来设定最大和最小的行数,它们可以各自保存在每个分区里。




分区类型:

Range分区 基于属于一个给定连续区间的列值
List分区 基于列值匹配一个离散值集合中的某个值来进行选择
Hash分区 用户定义表达式的返回值来进行选的分区
Key分区 KEY分区只支持计算一列或多列


分区总是在创建时就自动的顺序编号,且从0开始记录

当有一新行插入到一个分区表中时,就是使用这些分区编号来识别正确的分区



参考文献:

http://dev.mysql.com/doc/refman/5.1/zh/partitioning.html

文档

MySQL分区_MySQL

MySQL分区_MySQL:分区主要分为垂直分区和水平分区两种: 垂直分表将一个N1+N2个字段的表Tab拆分成N1字段的子表Tab1和(N2+1)字段的子表Tab2; 其中子表Tab2包含了关于子表Tab1的主键信息,否则两个表的关联关系就会丢失。 当然垂直分表会带来程序端SQL的修改,若是应用程序
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top