mysql数据对比工具
导读:笔者最近在采用 trino 代替旧有方案进行媒体接口数据拉取。需通过将 trino 拉取的数据入到测试库,并与旧方案拉取到生产库中的数据进行对比从而验证逻辑准确性。在进行数据对比时为提高效率因此...
2024.11.15来源 l 脚本之家(ID:jb51net)
作者 | 朱钢
出品 | 脚本之家(ID:jb51net)
这两年 IT 界隔三岔五的出现一次程序员删库的新闻,这种删库跑路的行为往往会给受害公司造成很大的损失,甚至会导致一个公司的破产。我们程序员看到这类新闻的时候很大一部分会把它当作一个闲聊的摊子,但是各位读者你是否想过这么一个问题:我知道怎么正确删库吗?看到这里估计有读者会感觉删库谁不会啊 delete 以下呗。如果你这么想的话那就接着看这篇文章吧,在后面的内容中我将讲解数据库删除数据的方式以及原理。
在 MySQL 中有三种删除数据的方式,分别是 delete、drop 和 truncate。这三种方式用起来简单,但是背后的原理和注意事项估计大部分开发人员并不清楚,下面我就来讲解以下原理以及注意事项。
delete
delete 是数据库 DML 操作语言,在删除数据的时候只会删除数据而不会删除数据所在表的表结构,并且在删除数据的时候会执行事务和触发 trigger。而且如果你所使用的数据库引擎是 InnoDB 的话 MySQL 会在执行删除数据操作的时候只把数据标注为已删除而不去真正的删除数据,因此在这种情况下如果你使用 delete 删除数据的时候会发现表大小并没有改变。
但是当你的数据库引擎是 MyISAM 的情况下执行 delete from table 语句会真正的删除表中的数据并释放空间的,如果你想让 MyISAM 引擎也能实现 InnoDB 引擎假删除的效果的话,你需要在 delete 语句后面加上 Where 条件即可,例如 delete from user where age
导读:笔者最近在采用 trino 代替旧有方案进行媒体接口数据拉取。需通过将 trino 拉取的数据入到测试库,并与旧方案拉取到生产库中的数据进行对比从而验证逻辑准确性。在进行数据对比时为提高效率因此...
2024.11.15前言:备份乃不死之王!一、全表结构备份:select INTO 语句:表示从一个表中选取数据,然后把数据插入另一个表中,常用来备份一张表 insert INTO new_table_name sele...
2024.11.14分享一个处理mysql数据量大的话迁移的方法一天晚上,生产环境下,一个用户分析数据库挂掉了,原因是服务器磁盘只读了,但是又不敢重启只好迁移了。找到datadir目录下du -sh * 看了一下吓死了。...
2024.11.12概述mysql里delete方式删除数据,也存在类似oracle一样高水位的问题,表空间不释放,下面是收集的几种回收方式,供供大家参考。01使用 OPTIMIZE命令语法:OPTIMIZE [LOCA...
2024.11.12MySQL中删除数据表是非常容易操作的, 但是你再进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。 语法以下为删除MySQL数据表的通用语法:drop TABLE table_nam...
2024.11.15