MySQL truncate table 与 delete 清空表的区别和坑

拓展阅读

MySQL View

MySQL truncate table 与 delete 清空表的区别和坑

MySQL Ruler mysql 日常开发规范

MySQL datetime timestamp 以及如何自动更新,如何实现范围查询

MySQL 06 mysql 如何实现类似 oracle 的 merge into

MySQL 05 MySQL入门教程(MySQL tutorial book)

MySQL 04- EMOJI 表情与 UTF8MB4 的故事

MySQL Expression 1 of ORDER BY clause is not in SELECT list,references column

truncate 的问题

以前使用 delete from,感觉耗时较多,所以就采用了 truncate。

后来发现阻塞读,本篇简单记录下采坑之路。

truncate 的阻塞原理

truncate 应慎重,它属于ddl,会lock table meta data,甚至可能由锁表升级为锁库

5.7 及其以前

In MySQL 5.7 and earlier, on a system with a large buffer pool and innodb_adaptive_hash_index enabled, a TRUNCATE TABLE operation could cause a temporary drop in system performance due to an LRU scan that occurred when removing the table's adaptive hash index entries (Bug #68184). The remapping of TRUNCATE TABLE to DROP TABLE and CREATE TABLE in MySQL 8.0 avoids the problematic LRU scan.

这个会导致阻塞

8.0

参考文档,会将 truncate 调整为 drop+create。

中间过程会导致问题。

实际上 drop 也是有会阻塞查询的。

drop 阻塞读

drop table引起的MySQL 短暂hang死的问题,是由于drop 一张使用AHI空间较大的表时,调用执行AHI的清理动作,会消耗较长时间,执行期间长时间持有dict_operation_lock的X锁,阻塞了其他后台线程和用户线程;

drop table执行结束锁释放,MySQL积压的用户线程集中运行,出现了并发线程和连接数瞬间上升的现象。规避问题的方法,可以考虑在drop table前关闭AHI。

ps: AHI 是自适应 HASH 索引,一种优化策略。

参考资料

mysql 8.0 官方文档

stackoverflow-MySQL TRUNCATE TABLE blocks queries in other databases

mysql案例 ~ 关于drop的那点事

记一次truncate导致的锁表处理

mysql 中的三种锁表方式

MySQL的TRUNCATE关键字

MySQL DROP 大表时的注意事项

MySQL AHI 实现解析

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ETL工具-nifi干货系列 第十三讲 nifi处理器QueryDatabaseTable查询表数据实战教程

1、处理器QueryDatabaseTable,该组件生成一个 SQL 查询,或者使用用户提供的语句,并执行它以获取所有在指定的最大值列中值大于先前所见最大值的行。查询结果将被转换为 Avro 格式,如下图所示: 本示例通过QueryDatabase…

【模板】差分

本题链接:登录—专业IT笔试面试备考平台_牛客网 题目: 样例: 输入 3 2 1 2 3 1 2 4 3 3 -2 输出 5 6 1 思路: 一直以来,我总是不太理解差分和树状数组操作区别。 现在摸了一下开始有所理解了。 差分和树状数组的区别…

7-6 jmu-JavaPython-统计文字中的单词数量并按出现次数排序(分数 25)

现在需要统计若干段文字(英文)中的单词数量,并且还需统计每个单词出现的次数。 注1:单词之间以空格(1个或多个空格)为间隔。注2:忽略空行或者空格行。 基本版: 统计时,区分字母大小写,且不删除指定标点符号。 进阶版…

硬件开源--Model 3C(简称M3)芯片驱动RGB接口86中控屏PCBA原理图

针对市场IOT应用需求,基于启明智显的Model3C芯片(简称M3)设计开发的一款超高性价比的86型中控屏PCBA原理图开源。 Model3C芯片(简称M3)是一款基于 RISC-V 的高性能、国产自主、工业级高清显示与智能控制 MCU,配备强大的 2D 图形加速处理器、PNG/JPEG 解码…

LeetCode 202. 快乐数

LeetCode 202. 快乐数 1、题目 力扣题目链接:202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为: 对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1,…

关于 Windows10 计算机丢失 MSVCP120.dll 的解决方法

今天学长跟平时一样打开电脑开始发布文章需要用到Adobe Photoshop CC 2018的时候居然给我来个Photoshop.exe-系统错误、无法启动此程序,因为计算机中丢失MSVCP120.dll 尝试重新安装该程序以解决此问题,安装上面的说明重新安装了我的Photoshop CC 打开还是…

(八)PostgreSQL的数据库管理

PostgreSQL的数据库管理 基础信息 OS版本:Red Hat Enterprise Linux Server release 7.9 (Maipo) DB版本:16.2 pg软件目录:/home/pg16/soft pg数据目录:/home/pg16/data 端口:57771 创建数据库 CREATE DATABASE创建一…

财务数字化转型如何找到打通业财融合的关键点

随着企业信息联网核查系统上线及即将到来的金税四期,企业将面临全业务、全方位、全流程的监控,企业“合不合规、经不经得起核查”,成为企业经营的一个重大考题。在此大环境下,财税安全成为企业经营中重要一环,尤为突出…

算法打卡day46|动态规划篇14| Leetcode 1143.最长公共子序列、1035.不相交的线、53. 最大子序和

算法题 Leetcode 1143.最长公共子序列 题目链接:1143.最长公共子序列 大佬视频讲解:1143.最长公共子序列视频讲解 个人思路 本题和718. 最长重复子数组很相像,思路差不多还是用动态规划。区别在于这题不要求是连续的了,但要有相对顺序 解…

PHP婚恋小程序开发源码支持微信+公众号+APP

随着社会的发展和人们生活节奏的加快,传统的相亲方式已经不能满足现代人的需求。在此背景下,有人想到通过线上小程序的方式来满足更多的人进行相亲,所以在此情况下,婚恋相亲小程序由此出现。婚恋相亲小程序的功能有会员功能&#…

MobX进阶:从基础到高级特性全面探索

MobX 提供了丰富的高级特性,包括计算属性、反应式视图、中间件、异步流程控制、依赖注入和动态 observable 、在服务端渲染和 TypeScript 支持方面提供了良好的集成。这些特性进一步增强了 MobX 在状态管理方面的灵活性和可扩展性,使其成为一个功能强大、易于使用的状态管理解决…

openkylin系统通过网线连接ubuntukylin系统上网攻略

openkylin系统通过网线连接ubuntukylin系统上网攻略 主机1:x64 amd ,系统:ubuntukylin 22.04 ,状态:通过wifi连接热点进行上网,并共享网络。 主机2:x64 intel ,系统:ope…

拓扑排序(Topological Sorting)

拓扑排序可以使用邻接表,邻接矩阵来存储。 DAG有向邻接图才有拓扑排序,非DAG没有。 什么是拓扑排序(Topological Sorting) - 简书 数据结构(八):邻接表与邻接矩阵 - 简书 Python3 列表 | 菜…

大世界基尼斯见证辉煌,云仓酒庄首届酒类培训新高度诞生

近日,一场规模盛大的酒类培训盛会,在云仓酒庄的精心组织下圆满落幕。此次培训活动以其卓着的成果和盛大的规模,创下了大世界基尼斯纪录,为酒类培训领域树立了新的标杆。这一成就的取得,背后是云仓酒庄团队无数的心血与…

GPT 作词 + Suno 作曲|2 分钟成就一个音乐梦想!

嗨!我是小谷,大家好久不见~ 今天,我要和大家宣布一个好消息!!! 我出歌啦!! 词曲都是我自己(借助 AI)创作的 作为个人第一支单曲, 我给这首歌取…

Leetcode 11.盛最多水的容器(暴力->双指针)

给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。 示例 …

MAC系统安装PHP、Java、Python、mysql、Composer等环境无权限问题的详细操作方法说明。

本篇文章主要讲解MAC系统安装PHP、Java、Python、mysql、Composer等环境无权限问题的详细操作方法说明。通过本篇文章你可以快速掌握brew安装相对应环境的能力。 作者:任聪聪 日期:2024年4月12日 一、brew介绍及安装说明 官网地址:https://b…

node.js 模版引擎

模版引擎 一、什么是模版引擎: 模版引擎是为了使用户界面与业务逻辑(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模版引擎就会生成一个标准的文档就是将模版文件和数据通过模版引擎生成一个html文档。 常…

财务信息化与财务软件有何区别与联系?

财务产品与财务信息化,两者究竟有何不同,又有何相通之处?或许,你心中也充满了这样的疑惑。那么,让我用一则小故事,为你揭晓其中的秘密。 想象这样一个场景,长尾狐狸,作为饭团公司的…

2024-8.python作用域+函数其他

变量的作用域 讲到了函数就必须介绍变量的作用域相关。 作用域指的是变量的有效范围。变量并不是在哪个位置都可以访问的,访问权限取决于这个变量是在哪里赋值的,也就是在哪个作用域内赋的值。变量在哪个作用域内赋值,则表示该变量的作用域就…