300元3小时服务不限次数-400块钱3小时无限次快餐,500一晚同城约茶,风楼阁交友平台

千锋教育-做有情怀、有良心、有品质的职业教育机构

400-811-9990
手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

上海
  • 北京
  • 郑州
  • 武汉
  • 成都
  • 西安
  • 沈阳
  • 广州
  • 南京
  • 深圳
  • 大连
  • 青岛
  • 杭州
  • 重庆
当前位置:成都千锋IT培训  >  技术干货  >  为什么MySQL不建议使用delete删除数据?

为什么MySQL不建议使用delete删除数据?

来源:千锋教育
发布人:xqq
时间: 2023-10-11 17:27:34

一、为什么MySQL不建议使用delete删除数据

因为只能整表删除。所以,这其实是一个数据库设计层面如何考虑数据维护的问题,数据库设计层面,应该按照业务的逻辑去分表(比如按时间),在一段时间数据“失效”(业务不再需要查询)后,备份后再drop或者truncate。而不是每隔固定一段时间,就去delete一次数据。

这是对于大表的情况。

当然,对于部分小表,比如配置表之类的,不建议用delete删除数据,其实就是不建议删除数据。数据库设计时考虑“状态”,每次都是更新状态,而不是删除。这种好处是:数据一直会留下痕迹,当出现问题的时候,会方便查找问题?;荡κ牵翰檠崧朔汛娲⒖占洌ㄆ涫敌”砜梢晕奘樱?。

性能问题:DELETE操作会实际删除记录并释放存储空间,这可能导致大量的磁盘碎片。在大量数据删除的情况下,此过程可能会耗费大量时间和计算资源。

审计和数据恢复:使用DELETE语句删除数据后,数据将永久丢失,除非你有有效的数据备份。这可能导致难以恢复的数据丢失。同时,对于审计和跟踪数据更改的需求来说,DELETE操作可能不是优异选择。

锁问题:在删除数据时,MySQL会对涉及的行和表加锁,以确保数据一致性。在高并发环境下,DELETE操作可能导致锁争用,进而降低系统性能。

延伸阅读:

二、MongoDB是什么

非关系型数据库(nosql ),属于文档型数据库。MongoDB采用类JSON的documents来存储数据。数据结构由键值(key=>value)对组成。

MongoDB采用动态数据模型schema,这意味着不需要预先定义表的数据类型和字段名。当MongoDB需要更新文档documents的时候,可以轻松增加新的字段名或者删除旧的字段。MongoDB让数据结构更加层级化,因而存储数组等复杂数据结构。 在同一个集合collection中,文档document对字段也没有强约束,因此更容易设计差异化的数据结构。

声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。

猜你喜欢LIKE

str在python中的用法是什么?

2023-10-11

香农定理和奈奎斯特定理区别是什么?

2023-10-11

数据链路层的三个基本功能是什么?

2023-10-11

最新文章NEW

网络传输介质有哪三种?

2023-10-11

什么是人工智能 (AI)?

2023-10-11

什么是web前端?

2023-10-11

相关推荐HOT

更多>>

快速通道 更多>>

最新开班信息 更多>>

网友热搜 更多>>