学习逻辑删除和物理删除

物理删除:
直接对数据表的数据执行delete或者drop指令,实现对数据的清除,数据消失,腾出了存储空间,减少数据量,提高表的访问性能。

逻辑删除:
使用字段标记位(通常使用is_delete)字段来标记是否已删除,数据还在,只是在查询时会根据is_delete字段的值来对数据进行删选显示。

优劣对比:
1、物理删除,数据直接清除,减小表的体量,一定程度上有利于查询效率。但是对于重要的数据,误删数据无法恢复。
2、逻辑删除,数据保留,表的体量会不断增加,一定程度上可能影响表操作性能。
但是数据是保留的(数据是具有价值的),误删除或者历史数据恢复方便。

总体来说:
一般基础数据都是逻辑删除

仅关联关系表使用物理删除

物理删除:

DELETE FROM table WHERE ?

逻辑删除:
自己设置一个逻辑字段,例如1表示有效,0表示删除即可,默认是1。update table set 逻辑删除=0其实是UPDATE,增加一个逻辑状态的列(0|1)0表示删除

两者的区别

1、物理删除是从数据库中删除数据,逻辑删除是在数据库中更改字段,表示这个数据删除了,但是数据量没有少;

2、在数据库中,物理删除:delete from ,真正的把数据在数据库中删除;

3、在数据库中,逻辑删除:update … set status = …,逻辑删除的本质是修改操作,其实并不是真正的删除,而是在表中将对应的是否删除标识(is_delete)或者说是状态字段(status)做修改操作。比如0是未删除,1是删除。在逻辑上数据是被删除的,但数据本身依然存在库中,方便日后做大数据 或者数据挖掘 。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值