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

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

背景信息

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。
相关文章
|
运维 Kubernetes 监控
MOSN 的无人值守变更实践
本文主要是介绍 MOSN 在无人值守变更上的实践以及过程中的一些思考。
MOSN 的无人值守变更实践
|
Android开发 Swift iOS开发
iOS和安卓作为主流操作系统,开发者需了解两者差异以提高效率并确保优质用户体验。
【10月更文挑战第1天】随着移动互联网的发展,智能手机成为生活必需品,iOS和安卓作为主流操作系统,各有庞大的用户群。开发者需了解两者差异以提高效率并确保优质用户体验。iOS使用Swift或Objective-C开发,强调简洁直观的设计;安卓则采用Java或Kotlin,注重层次与动画。Swift和Kotlin均有现代编程特性。此外,iOS设备更易优化,而安卓需考虑更多兼容性问题。iOS应用仅能通过App Store发布,审核严格;安卓除Google Play外还可通过第三方市场发布,审核较宽松。开发者应根据需求选择合适平台,提供最佳应用体验。
380 3
|
SQL 运维 大数据
轻量级的大数据处理技术
现代大数据应用架构中,数据中心作为核心,连接数据源与应用,承担着数据处理与服务的重要角色。然而,随着数据量的激增,数据中心面临运维复杂、体系封闭及应用间耦合性高等挑战。为缓解这些问题,一种轻量级的解决方案——esProc SPL应运而生。esProc SPL通过集成性、开放性、高性能、数据路由和敏捷性等特性,有效解决了现有架构的不足,实现了灵活高效的数据处理,特别适用于应用端的前置计算,降低了整体成本和复杂度。
|
NoSQL Java Redis
京东双十一高并发场景下的分布式锁性能优化
【10月更文挑战第20天】在电商领域,尤其是像京东双十一这样的大促活动,系统需要处理极高的并发请求。这些请求往往涉及库存的查询和更新,如果处理不当,很容易出现库存超卖、数据不一致等问题。
390 1
|
人工智能 安全 物联网
物联网在智能家居中的应用:技术革新与未来展望
【7月更文挑战第3天】物联网在智能家居中推动技术革新,整合智能安防、照明、家电控制及语音助手,提升生活便捷与节能。未来,设备间互联将加强,AI融合优化用户体验,安全隐私保护技术升级,云端服务支持远程管理,预示智能家居更智能、个性化的发展趋势。
1211 3
|
人机交互 分布式数据库 数据库
软考之决策支持系统的概念
软考之决策支持系统的概念
462 3
|
人工智能 关系型数据库 分布式数据库
AI与云数据库的深度结合:黄铭钧院士点赞PolarDB,引领云数据库2.0时代
最近,阿里云PolarDB开发者大会的举办引起了广泛关注,中国科学院外籍院士、世界级数据库专家黄铭钧在阿里云PolarDB开发者大会上表示,AI与云数据库的深度结合是数据库发展的必然趋势。他点赞以PolarDB为代表的中国数据库正在引领全球云原生数据库的发展。那么本文就来简单聊聊AI与云数据库的深度结合,引领云数据库2.0时代,以及院士点赞国产数据库的意义和数据库产业突破的重要性和前景。
719 2
AI与云数据库的深度结合:黄铭钧院士点赞PolarDB,引领云数据库2.0时代
|
存储 编解码 弹性计算
阿里云服务器2核4G、4核8G、8核16G配置实例规格选择参考
2核4G、4核8G、8核16G配置的云服务器在阿里云目前的活动中目前有经济型e、通用算力型u1、计算型c7和计算型c8y四种实例可选,虽然配置相同,但是这些实例规格之间的价格差别是很大的,以2核4G配置为例,活动价格最便宜的经济型e实例2核4G配置只要30.06元/3个月,年付的价格为1089.53元/1年,而计算型c7实例2核4G3M则要3770.99元/1年,因此,我们有必要弄清楚他们之间的差别,这样才能根据自己的需求选择最适合自己的实例。
1435 1
阿里云服务器2核4G、4核8G、8核16G配置实例规格选择参考
|
Web App开发 开发者
如何将非官方扩展程序加入chrome的白名单
如何将非官方扩展程序加入chrome的白名单
|
机器学习/深度学习 人工智能 自然语言处理
阿里云人工智能的考试内容是什么?考试有几个等级?
人工智能是一个新产业,而且正逐渐占据我们的生活,帮助我们解放生产力、完成很多危险的工作,现在越来越多的企业会使用人工智能、研发人工智能,以求可以占据更多的市场份额。
844 0