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

硬链接方式重建mysql大表

硬链接方式重建mysql大表

操作步骤

选择数据库

select @@datadir;

进入数据文件目录

cd /data/mysql/mydata/testdb

创建硬连接

ln test_trans_msg_xx.ibd test_service_trans_msg_xx.ibd.bak
ll test_trans_msg_xx*

进库删除表

DROP TABLE test_trans_msg_xx;

重建表

CREATE TABLE test_trans_msg_xx
id BIGINT ( 20 )NOT NULL COMMENT ·主键ID·
trans_id BIGINT (20 ) NOT NULL DEFAULT ‘0’ COMMENT ‘交易id’,
apply id VARCHAR (64 ) NOT NULL DEFAULT ‘’ COMMENT ‘业务流水号’,
request msg LONGTEXT NOT NULL COMMENT ‘请求报文’,
response msg LONGTEXT NOT NULL COMMENT ‘响应报文’,
create time datetime NOT NULL DEFAULT CURRENT TIMESTAMP COMMENT ‘创建时间’,
update time datetime NOT NULL DEFAULT CURRENT TIMESTAMP COMMENT’修改时间’,
PRIMARY KEY (id ) USING BTREE,
KEY indx_test_trans_msg_xx_apply_id (apply id ) USING BTREE,
KEY indx_test_trans_msg_xx trans_id(trans_id ) USING BTREE
) ENGINE = INNODB DEFAULT CHARSET = utf8mb4 COMMENT
=‘测试记录表xx’;

删除硬链接

rm test_trans_msg_xx.ibd.bak

归纳

  • 在MySQL中,采用硬链接方式来进行大表的DROP和重建操作,其优缺点归纳如下:

优点

减少IO压力

直接DROP一个大表会涉及大量的磁盘IO操作,尤其是在删除物理文件时。如果表非常大,这个过程可能会非常耗时,并且对数据库性能产生显著影响。
通过建立硬链接,DROP操作可以更快地完成,因为它不需要真正地去磁盘上删除那个巨大的物理文件。硬链接使得多个文件名指向同一个inode,因此删除一个硬链接并不会影响实际的物理数据。之后,可以使用truncate命令逐步删除文件,从而降低对IO的影响。

提高操作速度

硬链接的使用可以避免在DROP大表时长时间持有数据字典锁和table cache lock,从而减少对其他并发操作的影响。
在MySQL 5.5.23之前,DROP大表可能会导致系统性能显著下降,因为需要长时间持有buffer pool的mutex。而硬链接方式可以绕过这个问题,使得DROP操作更快完成。

降低系统风险

对于仍然在被高频访问的大表,直接DROP可能会导致系统崩溃或性能严重下降。而采用硬链接方式,可以先将表“标记”为删除,然后再逐步清理物理数据,从而降低对系统的影响。

缺点

复杂性增加

采用硬链接方式需要额外的操作步骤,包括创建硬链接、执行DROP操作和使用truncate命令删除物理文件。这增加了操作的复杂性,并可能引入人为错误。

管理难度提高

在使用硬链接后,需要手动管理这些硬链接文件。如果忘记删除它们,可能会导致磁盘空间被占用。
硬链接文件的存在也可能对数据库备份和恢复操作产生影响,需要特别注意。

限制条件

硬链接的创建受到一些限制,例如不能跨文件系统创建硬链接,也不能对目录创建硬链接。这可能对某些数据库部署环境产生限制。

总结

综上所述,采用硬链接方式DROP重建大表在减少IO压力、提高操作速度和降低系统风险方面具有明显优势,但也会增加操作的复杂性、提高管理难度以及存在一些限制条件。因此,在使用这种方法时,需要权衡利弊并根据具体情况做出决策。

相关文章:

硬链接方式重建mysql大表

硬链接方式重建mysql大表 操作步骤 选择数据库 select datadir; 进入数据文件目录 cd /data/mysql/mydata/testdb 创建硬连接 ln test_trans_msg_xx.ibd test_service_trans_msg_xx.ibd.bak ll test_trans_msg_xx* 进库删除表 DROP TABLE test_trans_msg_xx; 重建表 CREATE T…...

GPIO在ZYNQ7000中的结构和相关寄存器解析

GPIO MASK DATA LSW和 MASK DATA MSW LSW和MSW分别是LSW (Least Significant Word)和MSW (Most Significant Word)。 因为DATA是u32,所以如果寄存器的基址是XGPIOPS_DATA_LSW_OFFSET,那么32位就能同时让高16位的MASK DATA MSW]31:16和 MASK DATA LSW的bit7同时为…...

Qt Xlsx安装教程

Qt Xlsx安装教程 安装perl 如果没有安装perl,请参考perl Window安装教程 下载QtXlsxWriter源码 下载地址 ming32-make编译32 lib库 C:\Qt\Qt5.12.12\5.12.12\mingw73_32>d: D:\>cd D:\Code\QtXlsxWriter-master\QtXlsxWriter-master D:\Code\QtXlsxWrit…...

Certimate自动化SSL证书部署至IIS服务器

前言:笔者上一篇内容已经部署好了Certimate开源系统,于是开始搭建部署至Linux和Windows服务器,Linux服务器十分的顺利,申请证书-部署证书很快的完成了,但是部署至Windows Server的IIS服务时,遇到一些阻碍&a…...

【中工开发者】鸿蒙商城实战项目(启动页和引导页)

创建一个空项目 先创建一个新的项目选择第一个,然后点击finish 接下来为项目写一个名字,然后点击finish。 把index页面的代码改成下面代码块的代码,就能产生下面的效果 Entry Component struct Index {build() {Column(){Blank()Column(){…...

跟李笑来学美式俚语(Most Common American Idioms): Part 63

Most Common American Idioms: Part 63 前言 本文是学习李笑来的Most Common American Idioms这本书的学习笔记,自用。 Github仓库链接:https://github.com/xiaolai/most-common-american-idioms 使用方法: 直接下载下来(或者clone到本地…...

scala中如何解决乘机排名相关的问题

任务目标: 1.计算每个同学的总分和平均分 2.按总分排名,取前三名 3.按单科排名,取前三名 好的,我们可以用Scala来完成这个任务。下面是一个简单的示例代码,它将演示如何实现这些功能: // 假设我们有一个…...

OpenCV相机标定与3D重建(10)眼标定函数calibrateHandEye()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算手眼标定: g T c _{}^{g}\textrm{T}_c g​Tc​ cv::calibrateHandEye 是 OpenCV 中用于手眼标定的函数。该函数通过已知的机器人…...

Hadoop生态圈框架部署(九-2)- Hive HA(高可用)部署

文章目录 前言一、Hive部署(手动部署)下载Hive1. 上传安装包2. 解压Hive安装包2.1 解压2.2 重命名2.3 解决冲突2.3.1 解决guava冲突2.3.2 解决SLF4J冲突 3. 配置Hive3.1 配置Hive环境变量3.2 修改 hive-site.xml 配置文件3.3 配置MySQL驱动包3.3.1 下在M…...

docker 相关操作

1. 以下是一些常见的 Docker 命令&#xff1a; docker --version显示安装的 Docker 版本。 docker pull <image_name>从 Docker Hub 或其他镜像仓库下载镜像。 docker build -t <image_name> <path>从指定路径的 Dockerfile 构建 Docker 镜像。 docker i…...

AI作图效率高,亲测ToDesk、顺网云、青椒云多款云电脑AIGC实践创作

一、引言 随着人工智能生成内容&#xff08;AIGC&#xff09;的兴起&#xff0c;越来越多的创作者开始探索高效的文字处理和AI绘图方式&#xff0c;而云电脑也正成为AIGC创作中的重要工具。相比于传统的本地硬件&#xff0c;云电脑在AIGC场景中展现出了显著的优势&#xff0c;…...

【代码随想录day57】【C++复健】 53. 寻宝(prim算法);53. 寻宝(kruskal算法)

53. 寻宝&#xff08;prim算法&#xff09; 好像在研究生的算法课上学过prim算法和kruskal算法&#xff0c;不过当时只是了解了一下大致的概念和流程&#xff0c;并没有涉及到如何去写代码的部分&#xff0c;今天也算是学习了一下这两个算法的代码应该如何去实现&#xff0c;还…...

C++中多态

1) 什么是多态性&#xff1f;C中如何实现多态&#xff1f; 多态性是指通过基类指针或引用调用派生类的函数&#xff0c;实现不同的行为 多态性可以提高代码的灵活性和可扩展性&#xff0c;使程序能够根据不同的对象类型执行不同的操作。 2&#xff09;C中如何实现多态&#…...

【实现多网卡电脑的网络连接共享】

电脑A配备有两张网卡&#xff0c;分别命名为eth0和eth1&#xff08;对于拥有超过两张网卡的情况&#xff0c;解决方案相似&#xff09;。其中&#xff0c;eth0网卡能够连接到Internet&#xff0c;而eth1网卡则通过网线直接与另一台电脑B相连&#xff08;在实际应用中&#xff0…...

算力介绍与解析

算力&#xff08;Computing Power&#xff09;是指计算机系统在单位时间内处理数据和执行计算任务的能力。算力是衡量计算机性能的重要指标&#xff0c;直接影响计算任务的速度和效率。 算力的分类和单位 a. 基础算力&#xff1a;以CPU的计算能力为主。适用于各个领域的计算。…...

解决 MyBatis 中空字符串与数字比较引发的条件判断错误

问题复现 假设你在 MyBatis 的 XML 配置中使用了如下代码&#xff1a; <if test"isCollect ! null"><choose><when test"isCollect 1">AND exists(select 1 from file_table imgfile2 where task.IMAGE_SEQimgfile2.IMAGE_SEQ and im…...

python 词向量的代码解读 self.word_embeds = nn.Embedding(vocab_size, embedding_dim) 解释下

在PyTorch中&#xff0c;nn.Embedding 是一个用于将稀疏的离散数据表示为密集的嵌入向量的模块。这在自然语言处理&#xff08;NLP&#xff09;任务中非常常见&#xff0c;例如在处理单词或字符时&#xff0c;我们通常需要将这些离散的标识符转换为可以被神经网络处理的连续值向…...

记一次:使用C#创建一个串口工具

前言&#xff1a;公司的上位机打不开串口&#xff0c;发送的时候设备总是关机&#xff0c;因为和这个同事关系比较好&#xff0c;编写这款软件是用C#编写的&#xff0c;于是乎帮着解决了一下&#xff08;是真解决了&#xff09;&#xff0c;然后整理了一下自己的笔记 一、开发…...

Android Studio新版本的一个资源id无法找到的bug解决

Android Studio新版本的一个资源id无法找到的bug解决 文章目录 Android Studio新版本的一个资源id无法找到的bug解决一、前言二、Android Studio的无法获取到资源id的bug1、一段简单的Java代码1、错误现象2、错误解决方法 三、其他1、小结2、gradle.properties文件 其他相关属性…...

Datawhale AI冬令营(第一期)--零基础定制你的专属大模型

本文主要简述如何快速完成和一些小细节 第一步下载嬛嬛数据集 数据来源&#xff1a;self-llm/dataset/huanhuan.json at master datawhalechina/self-llm GitHub 注意:1.一定是数据集下载完成一定是.json结尾的 2.这个是github的网址&#xff0c;可能会遇到打不开的情况 …...

LLMs之APE:基于Claude的Prompt Improver的简介、使用方法、案例应用之详细攻略

LLMs之APE&#xff1a;基于Claude的Prompt Improver的简介、使用方法、案例应用之详细攻略 目录 Prompt Improver的简介 0、背景痛点 1、优势 2、实现思路 Prompt优化 示例管理 提示词评估 Prompt Improver的使用方法 1、使用方法 Prompt Improver的案例应用 1、Kap…...

【Unity人形布娃娃插件】Ragdoll Animator

Ragdoll Animator 是一款为 Unity 引擎开发的插件&#xff0c;专注于让角色在运行时动态地切换到布娃娃物理系统&#xff08;Ragdoll Physics&#xff09;。该插件帮助开发者轻松创建逼真的角色动画过渡效果&#xff0c;尤其适用于需要角色碰撞、摔倒、受击或其他物理反应的场景…...

跨团队协作中目标一致性至关重要

在团队协作的复杂拼图里&#xff0c;目标一致性是那根贯穿始终的主线&#xff0c;缺之则拼图难成&#xff0c;团队亦难达预期之效。 且看这样一个实例&#xff1a;部门承接了业务方一项紧急的数据处理需求&#xff0c;此任务犹如一座亟待攀登的险峰&#xff0c;落在了 A 团队…...

Excel的文件导入遇到大文件时

Excel的文件导入向导如何把已导入数据排除 入起始行&#xff0c;选择从哪一行开始导入。 比如&#xff0c;前两行已经导入了&#xff0c;第二次导入的时候排除前两行&#xff0c;从第三行开始&#xff0c;就将导入起始行设置为3即可&#xff0c;且不勾选含标题行。 但遇到大文…...

使用字典进行动态编程

在你的程序中&#xff0c;你想要执行各种计算&#xff0c;例如计算卫星的总数。 此外&#xff0c;当你进行更高级的编程时&#xff0c;你可能会发现你需要从文件或数据库中加载此类信息&#xff0c;而不是直接编码到 Python 中。 为了帮助支持这些场景&#xff0c;Python 使你…...

机器学习02-发展历史补充

机器学习02-发展历史补充 文章目录 机器学习02-发展历史补充1-机器学习个人理解1-初始阶段&#xff1a;统计学习和模式识别&#xff08;20世纪50年代至80年代&#xff09;2-第二阶段【集成时代】【核方法】&#xff08;20世纪90年代至2000年代初期&#xff09;3-第三阶段【特征…...

全国青少年信息学奥林匹克竞赛(信奥赛)备考实战之计数器与累加器(一)

学习背景&#xff1a; 在现实生活中一些需要计数的场景下我们会用到计数器&#xff0c;如空姐手里记录乘客的计数器&#xff0c;跳绳手柄上的计数器等。累加器是累加器求和&#xff0c;以得到最后的结果。计数器和累加器它们虽然是基础知识&#xff0c;但是应用广泛&#xff0…...

Android的SurfaceView和TextureView介绍

文章目录 前言一、什么是SurfaceView &#xff1f;1.1 SurfaceView 使用示例1.2 SurfaceView 源码概述1.3 SurfaceView 的构造与初始化1.4 SurfaceHolder.Callback 回调接口1.5 SurfaceView 渲染机制 二、什么是TextureView&#xff1f;2.1 TextureView 使用示例2.2 TextureVie…...

Scala的集合

1 集合简介 1&#xff09;Scala 的集合有三大类&#xff1a;序列 Seq、集 Set、映射 Map&#xff0c;所有的集合都扩展自 Iterable 特质。 2&#xff09;对于几乎所有的集合类&#xff0c;Scala 都同时提供了可变和不可变的版本&#xff0c;分别位于以下两 个包 不可变集合&am…...

1. Flink自定义Source

一. Source 简介 DataStream是Flink的低级API&#xff0c;用于进行数据的实时处理&#xff0c;Flink编程模型分为Source、Transformation、Sink三个部分&#xff0c;如下图所示。 默认Flink提供了大量的内置Source&#xff0c;常见的Source如下&#xff1a; 基于文件的Sour…...

房地产网站开发/seo检测优化

首先 browserHistory 其实使用的是 HTML5 的 History API&#xff0c;浏览器提供相应的接口来修改浏览器的历史记录&#xff1b;而 hashHistory 是通过改变地址后面的 hash 来改变浏览器的历史记录&#xff1b; History API 提供了 pushState() 和 replaceState() 方法来增加或…...

南宁老牌网站建设公司/定制网站和模板建站

学习Excel我们不仅仅要知道其中的函数、图表或者表格操作快捷技巧&#xff0c;利用Excel进行数据处理的过程中&#xff0c;美观也是非常重要的一部分。有时候每行每列的单元格行、高数据都不一样&#xff0c;所以表格看起来也会非常的杂乱。如上图所示&#xff0c;我们如果用这…...

广州网站建设工作室/怎样推广一个产品

很多人都觉得编程是一个比较特殊的职业&#xff0c;整天的加班&#xff0c;想不起来陪媳妇或陪老公。还整天自嘲为码农&#xff0c;屌丝等等。这是传统意义上的一个程序员的真实写照&#xff0c;但优秀的程序员都具备什么特质那&#xff1f; 优秀程序员五大特质 对编程特别喜欢…...

建设电影网站/网站百度

MySQL凭借着出色的性能、低廉的成本、丰富的资源&#xff0c;已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色&#xff0c;但所谓“好马配好鞍”&#xff0c;如何能够更好的使用它&#xff0c;已经成为开发工程师的必修课&#xff0c;我们经常会从职位描述上看到诸…...

怎么用虚拟主机做网站步骤/百度指数的主要功能有

Linux 开机启动流程 BIOS&#xff08;Basic Input Output System&#xff09;是 PC 机启动时加载的第一个软件。其实&#xff0c;它是一组固化到计算机主板上一个芯片上的程序&#xff0c;它保存着计算机最重要的输入输出程序、开机后自检程序和系统自启动程序&#xff0c;它可…...

wordpress图片自适应主题/运营推广公司

在我们日常开发工作中&#xff0c;有时候会遇到需要把某个git分支中的某个功能合并到另一分支&#xff0c;却因为一些差异而不能使用git merge,进行单纯的分支合并。 这时cherry-pick便将起到至关重要的作用了。 合并单个commit 例&#xff1a;想要在b1分支合并进x功能&#x…...