读书笔记之MySQL分区机制

这篇博客详细介绍了MySQL的四种分区类型:Range、List、Hash和Key分区,并解释了它们的工作原理和适用场景。Range分区根据连续区间分配数据,List分区基于离散值列表,Hash分区通过用户定义的表达式或内置哈希函数分散数据,而Key分区则限制了分区键的类型。此外,文章还讨论了分区中关于NULL值的处理方式。
摘要由CSDN通过智能技术生成

分区就是把一个数据表的文件和索引分散存储在不同的物理文件中。

对于分区表来说,同一个分区表的所有分区必须使用同一个存储引擎,即同一个表上,不能对不同的分区用不同的存储引擎;但是,可以在同一个MySQL服务器中,甚至同一个数据库中,对不同的分区表使用不同的存储引擎。

MySQL支持的分区类型包括Range、List、Hash、Key,其中Range比较常用:

RANGE分区:基于属于一个给定连续区间的列值,把多行分配给分区。

LIST分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。

HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数可以包含MySQL 中有效的、产生非负整数值的任何表达式。

KEY分区:类似于按HASH分区,区别在于KEY分区只支持计算一列或多列,且MySQL服务器提供其自身的哈希函数。必须有一列或多列包含整数值。

在MySQL中,数据库和表对应与数据目录中的目录和文件。所以,操作系统的大小写敏感性决定数据库和表命名的大小写敏感性。这就意味着数据库和表名在Windows中是大小写不敏感的,而在Unix和Linux中大小写敏感。但是需要注意的是,分区的名字是不区分大小写的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值