MySQL分区选项_mysql8 参考手册-MySQL分区概述

MySQL 8.0支持水平分区,允许根据规则将表的不同部分分布在不同位置,如RANGE、LIST、KEY等。分区有助于存储大量数据,简化数据删除和添加过程,优化满足特定条件的查询。InnoDB和NDB是唯一支持分区的存储引擎,且NDB要求表有显式主键。创建分区表时,所有分区必须使用相同存储引擎,且分区表达式中所有列必须是唯一键的一部分。分区适用于表的所有数据和索引,可通过DATA DIRECTORY和INDEX DIRECTORY选项指定分区目录。
摘要由CSDN通过智能技术生成

SQL标准没有提供太多有关数据存储物理方面的指导。SQL语言本身旨在独立于与其配合使用的模式,表,行或列基础的任何数据结构或媒体。尽管如此,大多数先进的数据库管理系统已经发展了一些方法来确定要用于存储特定数据的物理位置的文件系统,硬件或什至两者。在MySQL中, InnoDB存储引擎长期以来一直支持表空间的概念(请参见第15.6.3节“表空间”),甚至可以在引入分区之前将MySQL Server配置为使用不同的物理目录来存储不同的数据库(有关如何完成此操作的信息,请参见 第8.12.2节“使用符号链接”)。

分区使您可以根据需要在很大程度上设置的规则在文件系统中分布各个表的各个部分,从而使这一概念更进一步。实际上,表的不同部分作为单独的表存储在不同的位置。用户选择的用来完成数据划分的规则称为分区功能,在MySQL中可以是模数,与一组范围或值列表的简单匹配,内部哈希函数或线性哈希函数。该函数根据用户指定的分区类型进行选择,并将用户提供的表达式的值作为其参数。此表达式可以是列值,作用于一个或多个列值的函数或一组一个或多个列值,具体取决于所使用的分区类型。

在,,和[ ] 分区的情况下RANGE,分区列的值传递给分区函数,该函数返回一个整数值,该整数值表示应在其中存储该特定记录的分区号。此函数必须是非恒定且非随机的。它可能不包含任何查询,但可以使用在MySQL中有效的SQL表达式,只要该表达式返回或一个整数 ,使得 LISTLINEARHASHNULLintval

-MAXVALUE <= intval <= MAXVALUE

(MAXVALUE用于表示所讨论整数类型的最小上限。 -MAXVALUE表示最大下限。)

对于[ LINEAR] KEY, RANG

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值