最佳实践—如何异步删除大表

简介: 本文介绍了异步删除大表的方法。

背景信息

PolarDB-X底层存储节点,默认使用InnoDB引擎时,直接删除大表后会触发表文件的删除,导致POSIX文件系统出现严重的稳定性问题,因此InnoDB会启动一个后台线程来异步清理数据文件。当删除单个表空间时,会将对应的数据文件先重命名为临时文件,然后清除线程将异步、缓慢地清理文件。


说明 提供清除文件日志来保证DDL语句的原子性。

操作步骤

  1. 使用如下命令查看实例全局变量设置:
SHOW GLOBAL VARIABLES LIKE '%data_file_purge%';
  1. 返回结果如下:
+----------------------------------------+-------+

| Variable_name | Value |
+----------------------------------------+-------+
| innodb_data_file_purge | ON |
| innodb_data_file_purge_all_at_shutdown | OFF |
| innodb_data_file_purge_dir | |
| innodb_data_file_purge_immediate | OFF |
| innodb_data_file_purge_interval | 100 |
| innodb_data_file_purge_max_size | 128 |
| innodb_print_data_file_purge_process | OFF |
+----------------------------------------+-------+
  1. 参数说明如下:
参数 说明
innodb_data_file_purge 是否启用异步清除策略。
innodb_data_file_purge_all_at_shutdown 正常关机时全部清理。
innodb_data_file_purge_dir 临时文件目录。
innodb_data_file_purge_immediate 取消数据文件的链接但不清理。
innodb_data_file_purge_interval 清理时间间隔。单位:ms。
innodb_data_file_purge_max_size 每次清理单个文件大小的最大值。单位:MB。
innodb_print_data_file_purge_process 是否打印文件清理工作进程。
  1. 可以使用如下命令设置参数:
set global INNODB_DATA_FILE_PURGE = on;
set global INNODB_DATA_FILE_PURGE_INTERVAL = 100;
set global INNODB_DATA_FILE_PURGE_MAX_SIZE = 128;

  1. 说明 默认情况下PolarDB-X并不支持直接使用set global指令设置参数,建议在控制台上进行的存储层参数设置。
  2. 使用如下命令查看清理进度:
select * from information_schema.innodb_purge_files;
  1. 返回结果如下:
+--------+---------------------+--------------------+---------------+-------------------------+--------------+
| log_id | start_time | original_path | original_size | temporary_path | current_size |
+--------+---------------------+--------------------+---------------+-------------------------+--------------+
| 0 | 2021-05-14 14:40:01 | ./file_purge/t.ibd | 146800640 | ./#FP_210514 14:40:01_9 | 79691776 |
+--------+---------------------+--------------------+---------------+-------------------------+--------------+
  1. 参数说明如下:
参数 说明
start_time 清理操作的开始时间。
original_path 表数据文件的原始路径。
original_size 表数据文件的原始大小,单位:byte。
temporary_path 清理中的临时文件路径。
current_size 待清理的剩余临时文件大小,单位:byte。
相关文章
|
网络协议 Linux 网络安全
如何用阿里云实现内网穿透?如何在外网访问家里内网设备?
使用NPS自建内网穿透服务器教程,带WEB管理
35460 12
|
机器学习/深度学习 存储 搜索推荐
连续迁移学习跨域推荐排序模型在淘宝推荐系统的应用
本文探讨了如何在工业界的连续学习的框架下实现跨域推荐模型,提出了连续迁移学习这一新的跨域推荐范式,利用连续预训练的源域模型的中间层表征结果作为目标域模型的额外知识,设计了一个轻量级的Adapter模块实现跨域知识的迁移,并在有好货推荐排序上取得了显著业务效果。
1256 0
连续迁移学习跨域推荐排序模型在淘宝推荐系统的应用
|
应用服务中间件 Shell 网络安全
nginx安装提示 libssl.so.3: cannot open shared object file: No
【8月更文挑战第1天】### 原因 未将安装的ssl中的`libssl.so.3`链接到`/usr/lib`导致缺失。 ### 解决方案 1. 检查openssl是否已安装,若为低版本则需重装。 ```sh whereis openssl
5957 6
|
测试技术 程序员 数据库
一文搞懂软件测试,完整总结软件测试基础知识
一文搞懂软件测试,完整总结软件测试基础知识
2020 0
一文搞懂软件测试,完整总结软件测试基础知识
|
SQL 前端开发 fastjson
使用 fastjson 转换 Date 格式的数据,默认是时间戳,更改为 年-月-日 的方法
使用 fastjson 转换 Date 格式的数据,默认是时间戳,更改为 年-月-日 的方法
1785 0
|
存储 运维 专有云
专属钉钉混合云架构的启示
随着阿里云生态的形成,钉钉能够做到的,其他SaaS服务商也能做到。
976 0
专属钉钉混合云架构的启示
|
机器学习/深度学习 DataWorks 大数据
阿里云ACP认证考试细则须知与考题内容学习方法分享
阿里云大数据专业认证介绍:   阿里云大数据专业认证(ACP 级-Alibaba Cloud CertificationProfessional)是面向使用阿里云大数据产品的架构、开发、运维类人员的专业技术认证,主要涉及阿里云大数据类的几款核心产品,包括大数据计算服务MaxCompute、数据工场 DataWorks(原大数据开发套件 DataIDE)、数据集成、QuickBI、机器学习 PAI 等。
5208 0
|
自然语言处理 算法 数据挖掘
舆情中的热词分析,没你想的那么简单
阿里云公众趋势分析产品通过云服务的方式,将阿里巴巴成熟的舆情分析技术共享给广大开发者。热词分析是公众趋势分析最近刚刚上线的功能,用户反馈效果还不错。那么这个听上去很简单的功能,背后有哪些不为人知的细节呢?
13047 0
|
Java 关系型数据库 MySQL
Nacos简介及使用
一、前言     Nacos是阿里巴巴最新开源的项目,核心定位是“一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台”,项目地址:https://nacos.io/zh-cn/     Nacos核心提供两个功能:服务注册与发现,动态配置管理。     1、服务注册与发现   &n
27581 0