MySQL分区​主要是管理数据库的高可用性 - SEO - 新闻资讯 - 爱可生
新闻资讯

MySQL分区​主要是管理数据库的高可用性

发布时间:2020-11-25 浏览次数:25

分区是将一个表或索引分解成几个更小、更易管理的部分的过程。MySQL分区的主要目的是管理数据库的高可用性。

1.概述

分区的过程是将一个表或索引分解为多个更小、更可管理的部分。


MySQL支持水平分区,不支持垂直分区。


MySQL的分区是局部索引分区,一个分区中既存放数据又存放索引。


而全局分区是指,数据存放在各个分区中,但是所有数据的索引放在一个对象中。


2.分区的主要目的

主要用于数据库高可用性的管理:一个分区挂了,还有其他分区。


有时候也能对SQL语句性能带来提高,但要谨慎,尤其是在OLTP应用中。


3.四种分区类型

如果表中存在唯一索引,分区列必须是唯一索引的一个组成部分。


RANGE分区

行数据基于一个给定连续区间的列值被放入分区。


LIST分区

和RANGE类似,只是面向离散的值。


HASH分区

根据用户自定义的表达式的返回值来分区。返回值不能为负。


KEY分区

根据MySQL提供的哈希函数来进行分区。


4.其他细节

分区修剪Partition Pruning

搜索时只涉及某一个或若干个分区,就不会去查其他分区。


多行插入

遇到分区未定义的值时,MyISAM会插入之前的数据,不插入之后的;InnoDB会视之为事务,全部不插入。


NULL值处理

MySQL分区总是视NULL值小于任何一个非NULL值,这和处理NULL值的ORDER BY操作是一样的。


任何分区函数会把NULL值记录返回为0。


上一篇: 没有了

下一篇: MySQL分布式数据库适用于飞机订票系统吗

相关推荐

产品试用 产品试用
400-820-6580 免费电话