当前位置: 首页 > news >正文

MySQL分区表原理详解

分区表是将大表的数据分成称为分区的许多小的子集,分区是将一个表的数据按照某种方式,比如按照时间上的月份,分成多个较小的,更容易管理的部分,但是逻辑上仍是一个表。由于在MySQL数据库中,我们对MySQL分区表的理解十分晦涩,为了更好地理解MySQL分区表,本文我们来详细讲一讲MySQL分区表原理。

如前所述,分区表由多个相关的底层表实现,这些底层表也是由句柄对象(Handler object)标识,所以可以直接访问各个分区。分区有利于管理非常大的表,它采用分而治之的逻辑,分区引入了分区键的概念,分区键用于根据某个区间值(或者范围值)、特定值列表或者hash函数值执行数据的聚集,让数据根据规则分布在不同的分区中,让一个大对象变成一些小对象。

存储引擎管理分区的各个底层表和管理普通表一样(所有的底层表都必须使用相同的存储引擎),分区表的索引只是在各个底层表上各自加上一个完全相同的索引

从存储引擎的角度来看,底层表和一个普通表没有任何不同,存储引擎也无须直到这是一个普通表还是一个分区表的一部分。

我们先来看看MySQL分区表上的操作:

SELECT查询:当查询一个分区表的时候,分区层先打开并锁住所有的底层表,优化器先判断是否可以过滤部分分区,然后再调用对应的存储引擎接口访问各个分区的数据。

INSERT操作:当写入一条记录时,分区层先打开并锁住所有的底层表,然后确定哪个分区接收这条记录,再将记录写入对应底层表

DELETE操作:当删除一条记录,分区层先打开并锁住所有的底层表,然后确定数据对应的分区,最后对相应底层表进行删除操作。

UPDATE操作:当更新一条记录时,分区层先打开并锁住所有的底层表,MySQL先确定需要更新的记录在哪个分区,然后取出数据并更新,在判断更新后的数据应该放在哪个分区,最后对底层表进行写入操作,并对原数据所在的底层表进行删除操作。

有些操作是支持过滤的。当删除一条记录时,MySQL需要先找到这条记录,如果WHERE条件恰好和分区表达式匹配,就可以将所有不包含这条记录的分区都过滤掉。这对UPDATE语句同样有效。如果是INSERT操作,则本身就是只命中一个分区,其他分区都会被过滤掉。MySQL先确定这条操作属于哪个分区,再将记录写入对应的底层分区表,无须对任何其他分区进行操作。虽然每个操作都会”先打开并锁住所有的底层表“,但这并不是说分区表在处理的过程中是锁住全表的。如果存储引擎能够自己实现行级锁,例如InnoDB,则会在分区层释放对应表锁。这个加锁和解锁过程与普通InnoDB上的查询类似。

MySQL分区表与单个磁盘或文件系统分区相比,可以存储更多的数据。了解MySQL分区表原理便于我们理解MySQL分区表的使用,对于我们掌握MySQL分区表是十分必要的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.exyb.cn/news/show-35446.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

PCB设计中电流与线宽的关系

原文链接(点击原文链接更多精彩学习文章和学习内容):http://blog.bools.cn/archives/1262 PCB设计中电流与线宽的关系一、PCB设计铜铂厚度、线宽和电流关系二、PCB电流与线宽三、从图像中确定线宽四、 经验公式五、在PCB设计中线宽选择的经验…...

移动端开发那些事

1px解决方案 为什么移动端css里面写了1px, 实际看起来比1px粗. 其实原因很好理解:这2个’px’的含义是不一样的. 移动端html的header总会有一句 <meta name"viewport" content"widthdevice-width, initial-scale1.0, maximum-scale1.0, user-scalableno&qu…...

Hibernate对实际数据进行操作

//增 public static void main(String[] args){ Configuration cfg null; SessionFactory sf null; Session session null; Transaction ts null; User u new User(); System.out.println("请输入用户信息:&quo…...

GCC的-Wl,--wrap编译选项

GCC的--wrap是一个链接器选项&#xff0c;假如我们要编译的源文件为main.c&#xff0c;编译命令如下&#xff1a; gcc main.c -Wl,--wrapfunc -o main.elf有以下效果&#xff1a; 如果符号func没有&#xff08;在当前源文件&#xff09;定义&#xff0c;就链接到__wrap_func如…...

个人技能点(郎)

个人技能点1. 熟悉 h5 和 c3 新特性&#xff1a;语义化标签&#xff0c;flex 布局&#xff0c;动画等H5 新特性&#xff1a;2. 熟悉js作用域、原型、事件轮询机制、闭包等原理&#xff1b;js 作用域闭包事件轮询机制原型3. 熟悉 ES6 语法标准 promise&#xff0c;async/await 异…...

【Android 11】使用Android Studio调试系统应用五):编译Settings 模块、解决编译错误

文章目录 1. 篇头语2. 系列文章3. 关联Git4. 完善Settings的依赖4. 1 Android.bp回顾4.2 提取出所需androndx支持库4.2.1 依赖列表(android.bp)4.2.2 转换后的列表(build.gradle)4.2 提取出所需aar库4.3 提取出依赖的本地jar包4.3.1 查找本地jar包的位置4.3.2 所需jar列表(ando…...

1.5 异常

什么是异常 异常就是在程序运行期间&#xff0c;因为某些原因导致程序出现了错误的情况。 异常封装了三个重要信息: 类型&#xff0c;信息&#xff0c;行号 异常的简单继承结构 Throwable |- Error 系统级别的错误&#xff0c;无法处理&#xff0c;只能停止运行 |- Excepti…...

[HCIP] 10 - IGMP 协议

一、IGMP 介绍 二、组播组管理协议工作机制&#xff1a;...

海大09-10.3题:编程计算并输出1*2+3*4+5*6+...+(n-1)*n的值,其中,n的值由键盘输入。(8分)

题目 本题是中国海洋大学《C语言程序设计》2009-2010年第一学期编程题第3题。 题目&#xff1a; 编程计算并输出12345*6…&#xff08;n-1&#xff09;*n的值&#xff0c;其中&#xff0c;n的值由键盘输入。&#xff08;8分&#xff09; 以下是本篇文章正文内容&#xff0c;欢…...

DEDE织梦如何做中英文多语言站

说道中英文站&#xff0c;是很多用户想用dedecms织梦程序做多语言站&#xff0c;下面网分享下做中英文多语言版本的站点如何操作&#xff0c;希望能帮助到大家。 一、首先在后台建栏目&#xff0c;有三点需要注意 1.需要做几种语言就加几个大的栏目。 2.栏目“常规选项”的文…...

2021-08-23 linux的部分基本命令与vi/vim的部分命令

linux的基本命令 文章目录linux的基本命令前言一、APT(Advanced Packing Tool)1.工作原理2.修改源3.几个常用的命令二、vi/vim一. vi/vim 模式1.vi有两种工作模式二. vi/vim 命令1.vim:退出命令2.vim删除与修改命令3.vim拷贝与粘贴命令4.vim 撤销命令5.vim 搜索命令6.vim 替换命…...

题解报告:m10

找abc(add) 问题描述&#xff1a; 有两个正整数集合{An},{Bm}&#xff0c;其中整数值均不超过106。输出正整数x&#xff0c;判断是否存在A中的一个数a与B中的一个数b的和为x。 输入格式&#xff1a; 第一行为正整数t(≤5)&#xff0c;表示数据组数&#xff1b;每组数据中&a…...

VISSIM二次开发(Python)大作业总结2

VISSIM二次开发&#xff08;Python&#xff09;&大作业总结2 写在前面 前一小节已经概括了基本所有这次使用的二次开发的知识&#xff0c;在这一小节&#xff0c;我们主要介绍本文对.att文件的读取和绘图以及分析的工作。 在这一部分我们将展开对这一部分的介绍&#xf…...

sql中grant授权语句revoke撤销语句

MySQL 赋予用户权限命令的简单格式可概括为&#xff1a; grant 权限 on 数据库对象 to 用户 一、grant 普通数据用户&#xff0c;查询、插入、更新、删除 数据库中所有表数据的权利 grant select on testdb.*to common_user%; grant insert on testdb.*to common_user%; gran…...

QT如何设置小程序不被重复启动多个该程序

添加互斥锁 判断 如果进程有该程序&#xff0c;则return不运行 #if defined Q_OS_WIN32 //for win #include <windows.h> bool checkOnly() {// 创建互斥量HANDLE m_hMutex CreateMutex(NULL, FALSE, L"fortest_abc123" );// 检查错误代码if (GetLas…...

jquery--动画效果

show() : 显示隐藏的匹配元素。 这个就是 show( speed, [callback] ) 无动画的版本。如果选择的元素是可见的&#xff0c;这个方法将不会改变任何东西。无论这个元素是通过hide()方法隐藏的还是在CSS里设置了display:none;&#xff0c;这个方法都将有效。 hide()&#xff1a…...

SVN错误:Previous operation has not finished;run “cleanup“ if it was interrupted.

问题分析&#xff1a; SVN报错以上错误&#xff0c;可能是修改本地的文件之前没有update&#xff0c;导致commit的时候产生冲突&#xff0c;致使SVN崩溃&#xff0c;陷入clean up 死循环。 svn 的 operation是存放在 "work queue" 里的。而 "work queue"…...

【力扣1044. 最长重复子串】二分查找+Rabin-Karp 字符串编码、后缀数组(Python3)

题目描述 https://leetcode-cn.com/problems/longest-duplicate-substring/ 思路题解 方法一&#xff1a;二分查找Rabin-Karp 字符串编码 https://leetcode-cn.com/problems/longest-duplicate-substring/solution/zui-chang-zhong-fu-zi-chuan-by-leetcode/ class Solut…...

政产学研各界推动软件和信息技术服务业增速发展

​日前&#xff0c;工业和信息化部发布的最新数据显示&#xff0c;上半年&#xff0c;我国软件和信息技术服务业业务收入呈加快增长态势&#xff0c;完成软件业务收入44198亿元&#xff0c;同比增长23.2%&#xff0c;近两年复合增长率为14.7%。 从利润水平来看&#xff0c;上半…...

java16语言新特性

新语言特性 JEP 394&#xff0c;适用于 instanceof 的模式匹配模式匹配&#xff08;Pattern Matching&#xff09;最早在 Java 14 中作为预览特性引入&#xff0c;在 Java 15 中还是预览特性。模式匹配通过对 instacneof 运算符进行模式匹配来增强 Java 编程语言。模式匹配使程…...

实现批量自动部署Linux操作系统--UP楠哥

#实战描述&#xff1a; UPWEN公司所服务的用户IT环境中有很多的Linux系统&#xff0c;品种也五花八门&#xff0c;有RHEL、Centos、OpenSUSE甚至还有测试环境使用的RockyLinux。当有大量的计算机需要同时安装操作系统需求的时候&#xff0c;如果通过光驱的方式一个个安装&#…...

Java学习总结8

IO流 常用类 File // 获取分割符合系统相关String str File.pathSeparator;System.out.println(""str"");str File.separator;System.out.println(""str"");System.out.println();StringBuilder sb new StringBuilder();sb.appen…...

Jetson Xavier配置开机启动风扇 (7)

Jetson Xavier 自带ubuntu18.04系统&#xff0c;ubuntu18.04默认不带/etc/rc.local文件&#xff0c;我们需要通过配置来让rc.local.service生效。我们修改/etc/rc.local文件来启动风扇。 1.查找服务 ls /lib/systemd/system | grep rc 找到rc.local.service文件 2.修改rc.l…...

小白都能读懂的2PC原理

2PC通信原理分布式事务的原子性什么是2PC2PC提交事务的过程2PC的全局提交规则2PC通信架构集中式2PC通信架构分层2PC通信架构线性2PC通信架构故障恢复站点故障报文丢失总结分布式事务的原子性 一提到到事务&#xff0c;一般就会想到它的ACID特性&#xff0c;其中A&#xff08;a…...

PyQt5环境Pycharm+anaconda配置

文章目录在pycharm中新建项目安装所需包配置Qt designer和pyUIC首先下载好pycharm和anaconda在pycharm中新建项目 新建项目选择anaconda环境 检查所需包&#xff1a;pyqt5&#xff0c;pyqt5-tools&#xff0c;sip等&#xff0c;注意选择anaconda包管理器 可以在anaconda navi…...

Vue子组件调用父组件的方法

转载至:https://blog.csdn.net/zgrkaka/article/details/100528714 PS:需要说明的一点是关于this.$parent的时候使用方式,我之前一直以为只要父组件里定义了比如下面这样的情况: components:{childNode } 然后在子组件里面就可以直接通过this.$parent获取到父组件的属性和方…...

Python个人学习笔记1 - 按行,列求和

1. 给df的每一列求均值 &#xff08;添加一行&#xff09; df.loc[Col_sum] df.apply(lambda x: x.mean())2. 给df的每一行求和 &#xff08;添加一列&#xff09; df[Row_sum] df.apply(lambda x: x.sum())...

移动端开发那些事

1px解决方案 为什么移动端css里面写了1px, 实际看起来比1px粗. 其实原因很好理解:这2个’px’的含义是不一样的. 移动端html的header总会有一句 <meta name"viewport" content"widthdevice-width, initial-scale1.0, maximum-scale1.0, user-scalableno&qu…...

Redis 分布式锁原理

1、 使用数据结构&#xff1a;string 2、 使用操作命令 Redis 字符串(String) // 只有在 key 不存在时设置 key 的值。成功返回1&#xff0c;失败返回0SETNX key value// 将值 value 关联到 key &#xff0c;并将 key 的过期时间设为 seconds (以秒为单位)。SETEX key seconds …...

蓝绿发布、灰度发布和滚动发布

一文搞懂蓝绿发布、灰度发布和滚动发布 应用程序升级面临最大挑战是新旧业务切换&#xff0c;将软件从测试的最后阶段带到生产环境&#xff0c;同时要保证系统不间断提供服务。 长期以来&#xff0c;业务升级渐渐形成了几个发布策略&#xff1a;蓝绿发布、灰度发布和滚动发布…...

设置计算机从目标磁盘启动,电脑开机怎么设置从U盘启动

电脑开机怎么设置从U盘启动很多同学都遇到了这个问题&#xff0c;那么该如何解决呢&#xff1f;请看IEfans小编给大家带来的电脑开机从U盘启动设置方法介绍&#xff0c;希望对您有所帮助&#xff01;方法/步骤分享&#xff1a;1、优盘就是U盘&#xff0c;从硬盘启动是默认状态&…...

联想计算机从金丝顿u盘启动,联想笔记本不从U盘启动解决方法

部分网友们问windows7之家小编&#xff0c;联想笔记本不从U盘启动解决方法是什么&#xff0c;现在联想电脑需要u盘安装系统&#xff0c;但是遇到了不能u盘启动!那该怎么办!就让windows7之家小编告诉你联想笔记本不从U盘启动解决方法。按开机键后不停的按F1进入BIOS界面。键盘方…...

centos搭建loki+promtail+使用grafana实现日志管理

loki是grafana团队推出的轻量级日志管理工具&#xff0c;其相比传统的以es为底层的日志管理工具可降低存储成本10x。更多关于loki的架构、使用说明等&#xff0c;请参考官方文档&#xff1a;https://grafana.com/docs/loki/latest/overview/ 准备工作&#xff0c;为了测试loki&…...

pomelo日志管理

日志管理 pomelo 日志是通过 pomelo-logger 模块来管理的&#xff0c;pomelo-logger 是对 log4js 的简单封装&#xff0c;并提供了一些非常有用的 feature。 日志是通过 category 来进行管理与维护的&#xff0c;可以在log4js.json文件中进行配置 {"appenders": […...

rancher配置日志集中管理

rancher中配置pod日志集中管理 不管在什么环境下&#xff0c;日志的收集及集中化管理是开发及日常运维排错必不可少的。 关于日志集中化收集架构有很多种&#xff0c;最常见的如ELK、EFK等。 本文采用rancher2.4.5中集成的容器日志收集工具为fluentd。这里的fluent不是efk当中的…...

Windows内核--子系统(3.5)

到底什么是子系统? 子系统是用户层概念。在Windows内核之上&#xff0c;如果想要执行类UNIX应用程序&#xff0c;就是POSIX子系统&#xff0c;如果要类似OS/2环境&#xff0c;就是OS/2子系统。 如何能模拟出不同子系统呢? 一般需要子系统用户态应用程序和相关DLL支援。 对于W…...

【微信小程序学习笔记02理解与初始准备】【实战天气微信小程序】

目录 参与的udacity 微信小程序的纳米学位期间的学习笔记&#xff0c;其中代码或描述若有不足部分敬请指点&#xff0c;万分感谢&#xff01; 目录注册小程序账号&#xff0c;获取AppID开发准备目录结构删快速模板中不必要的代码 视图层何为WXML数据绑定列表渲染条件渲染模板事…...

微信小程序实现按首字母检索城市列表

不说废话&#xff0c;上效果图 因为我有多处要用到&#xff0c;所以我这里是写成自定义组件的&#xff0c;你也可以直接改成在page页面编写&#xff1a; 布局左边一个scroll-view&#xff0c;显示城市列表,右边一个view显示字母列表&#xff0c;城市列表这边有首字母显示&…...

微信小程序页面内搜索查询(无后台)

先上图&#xff0c;这是我要实现的效果&#xff01; 当我们没有页面内没有分页又需要搜索时&#xff0c;我们可以直接在前端写搜索功能&#xff0c;这样也极大的减轻了后台查询压力。 这里实现原理用的是indexOf(string)&#xff1a;查询字符串是否包含某个字符 知道这个大家…...

python在centos下安装以及配置

python在centos下安装以及配置 1.背景 centos下默认的都是python2.7下载需要更换为3.x使用&#xff0c;目前大部分应用都是基于pyhton3了 具体步骤&#xff1a; 我下载一个3.8.15的包 https://www.python.org/ftp/python/3.8.15/Python-3.8.15.tgz 小注释&#xff1a;如果…...

微信小程序系列开发(一)

一  微信小程序案例(原创) 二  什么是微信 ​ 微信&#xff08;WeChat&#xff09; 是腾讯公司于2011年1月21日推出的一个为智能终端提供即时通讯服务的免费应用程序&#xff0c;由张小龙所带领的腾讯广州研发中心产品团队打造。微信支持跨通信运营商、跨操作系统平台通过网…...

php微信小程序物流进度推送,thinkphp5推送微信小程序模板消息

什么是微信小程序模板推送呢&#xff1f; 首先一张图给大家看一下&#xff1a;你们有没有收到这些通知。顿时是不是觉得活动性感觉很牛掰。还是先上一下官方文档&#xff1a; 小程序模板消息官方文档文档其实写的很详细清除了&#xff0c;包括返回数据的类型&#xff0c;报错信…...

memcached 学习进修

https://www.cnblogs.com/jaxu/p/5196811.html 安装转载于:https://www.cnblogs.com/zxs-onestar/p/10860326.html...

逻辑推理:五人谁将出国学习(c语言代码实现)

某公司要从赵、钱、孙、李、周五名新毕业的大学生中选派一些人出国学习.选派必满足以下条件&#xff1a; &#xff08;1&#xff09;若赵去&#xff0c;则钱也去. &#xff08;2&#xff09;李、周两人中必有一人去. &#xff08;3&#xff09;钱、孙两人中去且仅去一人. &…...

基于微信小程序的考研复习知识题库在线学习小程序#毕业设计

随着时代的发展&#xff0c;人们对学历的要求也越来越高&#xff0c;普通的本科已经不能满足当前社会对专业知识和学历的要求了&#xff0c;于是很多人在本科毕业之后都会选择进行进修选择考研&#xff0c;但是很多时候考研学子找不到一个合适的地方查看考研相关的资讯和课程&a…...

学习Java编程如何进修自己的动手实践能力

其实现在由于互联网发展愈加快速&#xff0c;涌入了大批量想要学习java的同学&#xff0c;但是目前java学习&#xff0c;基本是哪个都是理论知识偏多&#xff0c;我们更多想知道的是如何增加自己的实践能力呢&#xff1f; 很多的同学有一个误区&#xff0c;非常重视自己对理论知…...

上海计算机信息进修学院高中部好不好,上海市计算机信息进修学院

性质&#xff1a;非营利组织规模&#xff1a;100-499人全称&#xff1a;上海市计算机信息进修学院华东理工大学成立于1952年&#xff0c;是教育部直属的国家重点高校。1966年学校进入国家“211工程”重点建设行列&#xff0c;2000年经教育部批准建立研究生院&#xff0c;2008年…...

机器学习入门课程

在开始机器学习速成课程之前&#xff0c;请先阅读下面的前提条件和准备工作部分&#xff0c;以确保您已做好完成所有单元所需的准备工作。前提条件机器学习速成课程并不会假定或要求您预先掌握机器学习方面的任何知识。但是&#xff0c;为了能够理解课程中介绍的概念并完成练习…...

医用计算机学习心得,计算机学习心得体会范文

跟着信息技能的高速开展并疾速浸透到社会糊口的方方面面&#xff0c;较量争论机日趋成为人们进修、任务、糊口不成短少的根本东西&#xff0c;接上去就跟好范文网小编一同往理解一下对于较量争论机进修心患上领会范文吧!较量争论机进修心患上领会范文 篇【1】较量争论机课是一门…...

机器学习入门作业

VV机器学习入门笔记&#xff08;一&#xff09;—python的简单线性回归实现线性回归&#xff08;吴恩达机器学习例题&#xff09;一、问题二、单变量线性回归1.引入的库介绍2.python实现流程2.1原始数据处理2.2读取数据及代价函数2.3可视化3.python程序二、多变量线性回归1.引入…...