数据库,逻辑删还是物理删?

数据库,逻辑删还是物理删?,第1张

概述相信很多人都听过删库跑路这个词,用搜索引擎检索删库跑路,可以看到很多程序员删库跑路的讨论和新闻。 但是,严格来讲,大部分程序员想删库跑路也做不到。为什么呢?因为没有数据库的删除权限。——真正能删库跑路

相信很多人都听过删库跑路这个词,用搜索引擎检索删库跑路,可以看到很多程序员删库跑路的讨论和新闻。

但是,严格来讲,大部分程序员想删库跑路也做不到。为什么呢?因为没有数据库的删除权限。——真正能删库跑路的是运维,再准确点DBA。

那么平时业务中的删除是怎么做的呢?答案是逻辑删除

逻辑删除:又名软删除,与物理删除、硬删除相对应,含义是并没有实际的删除数据,只是将数据标记已删除(例如增加is_deleted字段)。

为什么要用逻辑删除?

物理删除很好理解,就是真的把数据给删了。

以MysqL为例,假如数据删了,应该怎么恢复呢?主要方式有两种。

利用 binlog 日志

binlog是记录所有数据库表结构变更(例如CREATE、ALTER table…)以及表数据修改(INSERT、UPDATE、DELETE…)的二进制日志。

使用binlog恢复数据,本质上就是通过binlog找到所有DML *** 作,去掉错误的SQL语句,然后执行其它的SQL语句,就可以将数据恢复。

binlog恢复数据示意图如下:

可以看到,恢复时候不仅需要停掉数据库,假如数据量大的话,去筛选恢复数据sql就 总结

以上是内存溢出为你收集整理的数据库,逻辑删还是物理删?全部内容,希望文章能够帮你解决数据库,逻辑删还是物理删?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1152235.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存