当前位置: 首页 > news >正文

如何优雅的删除正式环境中的大表

引起 MySQL 数据库性能抖动的原因有很多,比如大事务、定时批量查询等,而这些原因我们一般都会注意到。但是,有一个引起性能抖动的原因却经常被我们忽视,那就是在生产环境删除无用的大表,即 DROP TABLE。

一、为什么要 DROP TABLE?

生产环境中,为什么要 DROP TABLE?相信绝大部分原因是为了释放空间

生产环境大多数是已经确定的库表,一般不会进行 DROP TABLE 这么重的操作,甚至大部分DBA 都不应该拥有 DROP 权限。

但是随着数据无限增长,在某些系统中,需要将数据归档到历史数据库,删除生产数据库中的表,从而释放存储空间,典型的就是偏日志、流水类的数据。

不过,当我们谈一个数据库多大的时候,单纯讨论存储容量意义并不大,我们更希望得到的是活跃记录有多少。

银行系统的 Oracle 数据库,虽然单库都可以数 T,但大部分都是日志数据或流水数据。

生产环境的流水表,单表容量可能几百 G,上 T,怎样在不影响业务的情况下,优雅地 DROP TABLE 呢**(这里优雅的定义为业务耗时上升不超过20%)**?

DROP TABLE 本来是一个非常简单的操作,但是要做到在生产环境中,对业务耗时影响很小,基本无感知,简直就是一件艺术。

或许大部分数据库系统都没有这么高的要求,但是海量并发的互联网业务有!

二、关于MySQL版本

在 MySQL 5.5.23 版本前,

http://www.lryc.cn/news/374073.html

相关文章:

  • Vulnhub-DC-1,7
  • 使用MySQL全文索引实现高效搜索功能
  • 数据结构学习笔记-图
  • 【归并排序】| 详解归并排序核心代码之合并两个有序数组 力扣88
  • 51单片机STC89C52RC——2.3 两个独立按键模拟控制LED流水灯方向
  • Neo4j连接
  • List 列表
  • nginx ws长连接配置
  • Windows下访问wsl的数据
  • 机器学习笔记 - 用于3D数据分类、分割的Point Net简述
  • vscode 连接 GitHub
  • 集合java
  • 智能体(Agent)实战——从gpts到auto gen
  • PyTorch 张量数据类型
  • 奇思妙想-可以通过图片闻见味道的设计
  • 装饰者模式(设计模式)
  • ADB调试命令大全
  • 查看npm版本异常,更新nvm版本解决问题
  • 计算机行业
  • 各种机器学习算法的应用场景分别是什么(比如朴素贝叶斯、决策树、K 近邻、SVM、逻辑回归最大熵模型)?
  • SQLite JDBC驱动程序
  • Postgre 调优工具pgBadger部署
  • 【云原生】Kubernetes----Helm包管理器
  • Bootstrap 5 进度条
  • MySQL查询数据库中所有表名表结构及注释以及生成数据库文档
  • Redis缓存穿透、缓存雪崩和缓存击穿的解决方案
  • 如何解决javadoc一直找不到路径的问题?
  • redis 笔记2之哨兵
  • LVS+Keepalived NGINX+Keepalived 高可用群集实战部署
  • Mybatis做批量操作