为什么公司在对数据库的数据进行删除操作的时候都建议软删?

2023-11-15

我们平时在建表的时候,相信大家有时候会被告知再添加一个额外的字段来判断当前记录是否需要使用,也就是软删。我在公司也是严禁删除数据,只能使用软删。我刚开始也是以为是防止误删或者有一个记录留存,但是其实我们每个操作都会记录操作日志的,所以真实目的不是留存记录,而是为了避免mysql数据的碎片化。

什么是碎片化呢?就是我们在删除一条数据的时候,原来的空间会被留空,而如果一段时间大量删除数据会导致留空的空间越来越大,虽然mysql会在下一次添加记录的时候尝试使用这些留空的空间,利用率不会是100%,甚至会出现一条记录被分在的多个地方,这样在碎片空间的查询效率要远低于正常空间里面的,所以这才是不然直接删除数据的原因

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么公司在对数据库的数据进行删除操作的时候都建议软删? 的相关文章

  • 这个 SQL DELETE FROM 语法有什么问题?

    我正在尝试删除 96k 记录 删除表 xoops bb posts text 页面中没有与 xoops bb posts 匹配的 post id 的所有记录 此查询返回 91k 条记录 SELECT FROM xoops bb posts
  • 使用 Hibernate 在 MySQL 中存储字节数组

    我正在尝试保存带有字节数组字段的实体 我在 MySQL 数据库之上使用 Hibernate 和 JPA 这是字段定义 对于嵌入式 H2 数据库来说效果很好 Entity name blob public class Blob Lob Bas
  • MySQL有两个不同的密码?

    我确信它们是不同事物的密码 但我不确定是什么 当在终端连接到 MySQL 时 我输入 usr LOCAL mysql BIN mysql h host u username p然后系统会提示我输入密码 密码是 但是当使用 PHP 连接到 M
  • 当数据表输入来自服务器的 JSON 数据时,更改 Google 图表栏颜色

    我一直在努力使用谷歌图表 API 我在 SO 上发现了这个出色的例子PHP MySQL Google Chart JSON 完整示例 https stackoverflow com questions 12994282 php mysql
  • MySQL InnoDB 查询性能

    我正在尝试优化一个简单的 sql 查询 该查询将多次运行大量数据 这是场景 MySQL 与 InnoDB 表 where 和 join 中使用的所有字段都已索引 表有 FK 我不需要查询的整个缓存 但每个表的缓存是可能的 表有更多的更新 插
  • 通过货币换算获取每种产品类型的最低价格

    我想选择每种产品类型中最便宜的 包括运费 价格转换为当地货币 最便宜 产品 价格 产品 运费 seller to aud 我的数据库有如下表 PRODUCTS SELLERS id type id seller id price shipp
  • MySQL 全文搜索不适用于某些单词,例如“house”

    我已经在 3 个字段中的一小部分记录上设置了全文索引 也尝试了 3 个字段的组合 并得到了相同的结果 有些单词返回结果很好 但某些单词如 house 和 澳大利亚 不这样做 有趣的是 澳大利亚 和 家乡 这样做 这似乎是奇怪的行为 如果我添
  • 单行的总和值?

    我有一个 MySQL 查询 它返回由一系列 1 和 0 组成的单行 它用于进度条指示器 我现在在代码中对它进行求和 但我尝试对查询中的值求和 并意识到我无法使用 SUM 因为它们有很多列 但只有一行 有没有办法可以在查询中自动求和 就像这样
  • PHP 选择后立即删除

    我有一个 PHP 服务器脚本 它从 MySQL 数据库中选择一些数据 一旦我将 mysql query 和 mysql fetch assoc 的结果存储在我自己的局部变量中 我就想删除我刚刚选择的行 这种方法的问题在于 PHP 似乎对我的
  • MySQL 存储过程将值分配给 select 语句中的多个变量

    这是我的存储过程 我在为声明的变量赋值时遇到问题 当我执行它时 插入和更新命令工作正常 但声明变量的值保持为 0 但我在数据库中有一些价值 我怎样才能正确地做到这一点 BEGIN DECLARE PaidFee INT DEFAULT 0
  • 将记录分成两列

    我的数据库中有一个 学生 表 其中包含大约 5 000 条记录 我想将这些记录显示在two分区 如何在不执行查询两次的情况下做到这一点 仅使用单个查询 显示示例http www freeimagehosting net uploads f1
  • 当“修复表”查询在 mysql 中不起作用时该怎么办?

    我收到此错误 表的存储引擎不支持修复 当我尝试使用查询修复表时repair table tbl college master 表是 innodb 类型 但我不知道我收到此错误 See 手册 http dev mysql com doc re
  • 如何在 phpmyadmin 中创建 MySQL 触发器

    我想在 MySQL 中创建一个触发器 我运行以下命令 mysql gt delimiter mysql gt CREATE TRIGGER before insert money BEFORE INSERT ON money gt FOR
  • 查询中列的顺序重要吗?

    当从 MySQL 表中选择列时 与表中的顺序相比 选择列的顺序是否会影响性能 不考虑可能覆盖列的索引 例如 您有一个包含行 uid name bday 的表 并且有以下查询 SELECT uid name bday FROM table M
  • java mysql 准备好的语句

    我正在尝试使用 java 向数据库中进行简单的插入 它告诉我我的 sql 语法已关闭 但是 当我复制打印出来的字符串并将其放入 phpmyadmin 中的 sql 命令中时 它会正确执行该命令 并且我似乎无法弄清楚 java 中的字符串查询
  • mysql-如何向列申请补助?

    用户名 撤销对数据库的选择 Person I set GRANT SELECT id ON database Person TO username localhost 不是工作 gt SELECT secret FROM Person Go
  • 当sql连接中存在两个同名列时,如何从一个表列中获取值

    当我连接两个具有相同名称列的表时 我目前面临着尝试获取值的问题 例如 table1 date和table2 date 每个表中的日期不同 我将如何获取 日期 本例中的表1 我目前正在跑步 while row mysqliquery gt f
  • 第三个下拉菜单不从数据库填充

    我有以下 Index php
  • 无法通过套接字“/var/lib/mysql/mysql.sock”连接到本地 MySQL 服务器 (2)

    当我尝试连接 mysql 时出现以下错误 Can t connect to local MySQL server through socket var lib mysql mysql sock 2 这个错误有解决办法吗 其背后的原因可能是什
  • 忽略重复条目并在 EF Core 中的 DbContext.SaveChanges() 上提交成功条目

    我有一个 ASP Net Core 2 2 Web API 在我的一个控制器操作中 我向 MySQL 数据库表添加了一堆行 我使用的是 Pomelo 例如 dbContext AddRange entities dbContext Save

随机推荐

  • Netty架构剖析

    1 Netty逻辑架构 Netty采用了典型的三层网络架构进行设计和开发 Reactor通信调度层 1 它由一系列辅助类完成 包括Reactor线程NioEventLoop及其父类 NioSocketChannel NioServerSoc
  • 关于指针的一些知识

    文章目录 1 什么是指针 2 为什么要有指针 3 为什么32平台下 内存的最大有效空间为4G 4 指针 变量 的大小 5 指针的类型 5 1 指针的意义 6 指针的运算 6 1指针加减整数 6 2指针 指针 7 指针和数组 7 1为什么数组
  • qt中使用 ui 文件进行界面设计

    目录 1 创建 Qt 应用 2 项目创建成功 3 直接点击打开 mainwindow ui 文件 4 随便从左边侧边栏拖拽一个空间到 界面设计区域 5 在右侧边栏右键点击 pushButton 控件 点击转到槽 6 根据实际需要选择对应的信
  • 如何安装nodejs、webpack

    目录 前言 第一步 安装nodejs 第二步 全局安装webpack 第三步 局部安装webpack 前言 我在b站上面学习Vue的时候需要使用webpack进行模块化 那就安装webpack 老师说由于webpack需要nodejs的支持
  • 数据清洗常见问题(新手踩坑合集)【不定期更新】

    1 CSV打开发生错误 有些时候csv用pandas的pd read csv 地址 打开某些表格 横轴上无索引的 会出现这种情况 出现这样的情况后array的转化就十分不好搞 所以要加上一个 header None f pd read cs
  • 1024徽章获取

    听说今天发文章可以领徽章来着 作为一名准程序员也是有必要领一下得
  • IDEA报错:Error running ‘xxxApplication‘: Command line is too long. Shorten command line for xxxApp...

    1 找到 idea workspace xml 2 在 idea workspace xml里面找到
  • svc错误

    add N C Users Administrator workspace First WebContent testajax jsp Attempted to lock an already locked dir svn Working
  • springboot集成redis并设置过期时间

    redis作为常用的缓存工具在日常中经常使用 首先是下载redis redis github 选择windows linux安装即可 不会自己百度 下载好后配置 redis配置文件设置访问密码为123456 开始集成 maven依赖
  • 前端性能优化

    页面的性能指标 DCL DOMContentLoaded DOM解析完毕 FP First Paint 表示渲染出第一个像素点 FP一般在HTML解析完成或者解析一部分时候触发 FCP First Contentful Paint 表示渲染
  • element-ui table分页/筛选后保留勾选项

    在使用elementui中的table时 有时会涉及到勾选完数据切换页数或者使用搜索框搜索后已勾选数据消失 而elementul有个属性可以处理这个情况 reserve selection和row key搭配使用 使用步骤 在table上加
  • Android安卓webview,网页端生成安卓项目(极速生成)教程

    Android安卓webview 网页端生成安卓项目 极速生成 教程 一 前言 当自己做了一个PC端的页面 也就是前端的页面 或者已经上服的页面 但也想生成一个安卓端供用户使用 本教程详细讲解如何把前端html页面或者链接生成安卓端项目 本
  • 蓝桥杯青少C++省赛备赛指南和真题详解

    蓝桥杯大赛是工业和信息化部人才交流中心举办的全国性专业信息技术赛事 已经成功举办了13届 历时14年 蓝桥杯大赛首席专家倪光南院士说 蓝桥杯以考促学 塑造了领跑全国的人才培养选拔模式 并获得了行业的深度认可 随着蓝桥杯加入国家白名单赛事 含
  • STM32传感器外设集--超声波模块(HC_SR04)

    目录 1 器件介绍 1 1 参数 1 2 测量范围 1 3 计算公式 1 4 优点 2 1 原理 3 代码编写 3 1 接线图 3 2 代码 3 2 1 HC SR04 h 3 2 2 HC SR04 c 3 2 3 timer h 3 2
  • 电子密码锁

    摘要 数字密码锁是二十一世纪制锁业的一次革命 密码锁的特点是不用钥匙 无锁孔 机械传动 不易损坏 不磨损 不易被破译 可多次更换密码 换号不换锁 一把锁多个密码 具有防拨 防砸 防撬 防堵等功能 安装门锁时不破坏原门的结构 避免用钥匙开启旋
  • DAP组件外部服务开发说明

    DAP数据分析平台主要是为了满足企业数据分析的需要而开发的一款产品 不同于一般的BI平台 DAP数据分析平台更侧重数据的聚合 平台预置有数据源注册 ODS注册与管理 数仓配置与数据聚合 从而实现企业业务数据的统一 构建企业统一的 标准的 完
  • 每日英语--Week15

    文章目录 一 First Day 二 Second Day 三 Third Day 四 Fourth Day 五 Fifth Day 一 First Day 例句 It has been a crazy year for you Like
  • include的路径说明 VS C++ 路径中\\与/

    https www cnblogs com yliu archive 2011 06 16 2082370 html 这篇文章言简意赅的描述了不同写法的路径差异 C 路径中 与 1 windows默认使用 2 linux默认使用 3 可以都
  • Ubuntu下在pycharm中下载库出现ModuleNotFoundError: No module named 'distutils.core'

    根据pycharm项目选择的python版本 python2命令端执行 sudo apt get install python pip python3命令端执行 sudo apt get install python3 pip
  • 为什么公司在对数据库的数据进行删除操作的时候都建议软删?

    我们平时在建表的时候 相信大家有时候会被告知再添加一个额外的字段来判断当前记录是否需要使用 也就是软删 我在公司也是严禁删除数据 只能使用软删 我刚开始也是以为是防止误删或者有一个记录留存 但是其实我们每个操作都会记录操作日志的 所以真实目