MySQL分区简介

本文深入探讨了MySQL数据库管理系统中关于数据物理存储方式的两个关键特性:分区和表空间。通过介绍分区和表空间的概念,以及它们如何允许在不同文件系统中存储表的不同部分,本文详细阐述了这些特性的实现方式和使用场景。

    MySQL标准并没有提供太多关于数据存储在物理方面的方式。SQL语言本身旨在独立于任何的数据结构或它工作的模态媒体,表,行或列。尽管如此,大多数先进的数据库管理系统已经有方法让特定的数据存储在文件系统或硬件中的某个物理位置。在MySQL中,InnoDB存储引擎长期支持表空间的概念。MySQL服务器也在很早就有分区的概念,能够让不同的物理目录存储不同的数据库。


    分区在这个概念上更近了一步,使你能够根据需要在很大程度上跨文件系统将表分成不同的区。这样,一个表的不同部分存储在不同位置的不同表。用户分割数据的规则称为分区函数,它在MySQL中可以是可以是模量,根据一组范围或值列表,内部散列函数,或一个线性散列函数进行简单的匹配。该函数根据用户指定的分区类型来选择,并将其作为参数值提供给用户表达式,该表达式可以是列值,作用于一个或多个列的值得函数,或一组一个或更多个列中的值,这取决于所有的分区的类型。


    对 RANGE, LIST 和 [LINEAR] HASH分区来说,分区列的值传递给分区函数,返回一个整型值表示特定记录存储的分区号。此功能必须是非常数及非随机的。它可能不包含任何查询,但也可能使用MySQL中一个有效的SQL表达式,只要表达式返回NULL或整型值 即可。


    对于 [LINEAR] KEY,RANGE,COLUMNS和LIST COLUMNS分区来说,分区表示由一列或多列组成。


    对于[LINEAR] KEY分区,MySQL支持分区函数。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值