数据删除记录删除

news/2024/11/24 9:25:07/

背景:

 正常逻辑是删除数据,接口抽取其他业务系统全量数据。事故发生是数据删除(被物理删除),接口抽取异常,数据未抽取成功。数据被物理删除,也无法即刻恢复,导致业务无法进行。

1、物理删除和逻辑删除的区别:

  逻辑删除是在设计删除接口时一部分多为逻辑删除,所谓的逻辑删除其实不是真正的删除,而是通过在表中将对应的是否删除标识(is_delete)或者说是状态字段(status)做修改操作。比如0是未删除,1是删除。在逻辑上数据是被删除的,但数据本身依然存在库中。一些大型的、数据关联性高、数据重要性高的应用往往会采用这种删除方式,它可以实现回收站、删除恢复、查看历史版本等实用功能,根据业务的需要有不同的应用场景。

  物理删除就是真正的从数据库中做删除操作,将数据库中该信息彻底删除无法恢复。可以使用DELETE FROM  SQL语句实现,这种方式产生的后果就是记录永久性删除,无法找回,一般适用于小型或数据重要性不高的项目,可以提高数据库资源利用率。

  最后在实际删除接口设计中,需要根据实际的业务场景来判别需要用哪种删除方式。不同的业务需要根据其应用场景来选择合适的数据删除方式,一般的应用可以采用物理删除的方式,简单粗暴地将数据擦除,这样可以有效提高数据库地利用率。但是有些项目如金融、交通、能源等领域的历史数据,往往具有很高的利用价值,通过对这些数据进行分析总结,可以更好的了解该领域的发展情况和健康程度,以及对未来的发展规划起到一定指导作用,这时就要采用逻辑删除的方式,虽然数据管理平台为了便于管理,删除了过期的数据,但数据分析系统仍能从数据库中获取到历史数据,通过抽取转换加载的过程,将历史数据转化为高价值的内容,这是目前信息技术发展的主要趋势。

2、测试角度:

这个数据能不能删除,与其他数据是否有关联,删除之后会造成什么后果,不能删除又该怎么做,删除之后能否恢复

3、数据库的三种删除方法

(1)delete

  • 可以按照条件清除数据
  • 只限于清除数据,表的定义、设置都不会清除

(2)truncate

  • 清空表内的所有数据,没有条件
  • 相当于将当前表初始化,恢复到刚创建的状态

(3)drop

  • 清除关于当前表的所有信息,表不再存在

删除数据的速度,一般来说: drop> truncate > delete。与 DELETE 语句相比,TRUNCATE TABLE语句具有以下优点:所用的事务日志空间较少。DELETE 语句每次删除一行,并在事务日志中为所删除的每行记录一项。TRUNCATE TABLE 通过释放用于存储表数据的数据页来删除数据,并且在事务日志中只记录页释放。使用的锁通常较少。当使用行锁执行 DELETE 语句时,将锁定表中各行以便删除。TRUNCATE TABLE 始终锁定表和页,而不是锁定各行。如无例外,在表中不会留有任何页。执行 DELETE 语句后,表仍会包含空页。例如,必须至少使用一个排他 (LCK_M_X) 表锁,才能释放堆中的空表。如果执行删除操作时没有使用表锁,表(堆)中将包含许多空页。对于索引,删除操作会留下一些空页,尽管这些页会通过后台清除进程迅速释放。与 DELETE 语句相同,使用 TRUNCATE TABLE语句清空的表的定义与其索引和其他关联对象一起保留在数据库中。


http://www.ppmy.cn/news/344359.html

相关文章

清除电脑各种使用记录不留痕迹,保护你的隐私!

手动清除电脑痕迹当然可以,只是操作起来麻烦,又容易漏掉一些。找点资料给你: 1.清除最近使用过的文档记录 以Windows XP为例,右键点击“开始”按钮,选择“属性”,在弹出的设置任务栏和开始菜单属性对话窗…

清除记录的一些方法

清除百度搜索框记录 清除google搜索栏中的历史记录也一样! 第一种:自定义删除(即想删除哪条历史记录就删除哪条) 在百度搜索网页里的搜索栏中,点击鼠标左键两次,会出现以前搜索过的历史记录。然后用鼠标指向你想要删除…

如何清理上网后使用过的痕迹

如何清理上网后使用过的痕迹 使用“清理使用痕迹”功能可以对浏览网页和登录用户痕迹进行清理,能够有效地保护用户隐私和安全。 步骤1:打开“360安全卫士”窗口,单击“电脑清理”按钮,如下图所示。 如何清理上网后使用过的痕迹 步…

用注销脚本清除上网所留下的痕迹

上网冲浪后,系统中总会遗留很多的垃圾需要清理,其中包括IE临时文件、历史记录以及Cookies等等。如果每次都使用手工方法清除则比较麻烦,其实我们只要利用Windows 2000/XP的关机和注销脚本就可以实现自动清理。 清除IE临时文件   为了加快访…

家用计算机历史记录,怎么查上网的历史记录?

操作步骤:工具栏查看->浏览器栏->历史记录。 瑞星卡卡助手 ie地址栏 cookies也可以查询 它在c盘里 1 自定义删除(即想删除哪条历史记录就删除哪条) 在百度搜索网页里的搜索栏中,点击鼠标左键两次,会出现以前搜索过的历史记录。 然后用鼠标指向你想…

清除上网痕迹

在360或超级兔子等软件中有清除上网痕迹等功能,主要是清空IE的浏览记录。 在HKEY_CURRENT_USER\SOFTWARE\Microsoft\Internet Explorer\TypedURLs下,把其所有的键/对值删除即可。 转载于:https://www.cnblogs.com/yagzh2000/archive/2013/01/08/2850534.…

MySQL 删除表中的数据记录

文章目录 前言一、删除表中的数据记录? 1.删除特定数据记录2.删除所有数据记录总结 前言 删除数据记录是数据操作中常见的操作,可以删除表中已经存在的数据记录。在MySQL中可以通过DELETE语句来删除数据记录,该SQL语句可以通过以下几种方式使…

清理上网后留下的各种记录

1、清除Cookies搜集的个人信息 打开注册表,依次找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windons\Current Version\Internet Settings\Cache\Special Paths\Cookies 键项。右击删除,将完全清除上网所保留的信息。重启之后,搞定&#xff0c…