新网站快速提高排名,wordpress企业免费主题是什么意思,wordpress微信机器人订阅号,软件项目管理过程五个阶段背景#xff1a;
现网db有个log表自增ID溢出#xff0c;业务已经切换到其他表#xff0c;但是之前有其他业务删除大表导致现网出现故障#xff0c;这里考虑到是一张静态表#xff0c;所以采用的是直接删除的方式#xff0c;记录下当时的删除的步骤。
直接删除的风险
现网db有个log表自增ID溢出业务已经切换到其他表但是之前有其他业务删除大表导致现网出现故障这里考虑到是一张静态表所以采用的是直接删除的方式记录下当时的删除的步骤。
直接删除的风险
1长时间的执行时间可能会一直占用很多cpu导致IO异常 2删除大量数据时MySQL通常会获取表级别的锁定这可能会导致其他会话的阻塞
修改参数
innodb_adaptive_hash_index OFF innodb_async_truncate_work_enabled ON innodb_async_drop_tmp_dir 非空
参数解释 1、innodb_adaptive_hash_index
innodb_adaptive_hash_index 是MySQL InnoDB存储引擎的一个配置参数用于控制自适应哈希索引Adaptive Hash Index的启用或禁用。
自适应哈希索引是InnoDB存储引擎的一个特性用于提高查询性能。它通过在内存中维护一个哈希索引结构加速对表的查询操作。自适应哈希索引会根据查询模式和数据访问模式动态地调整和优化索引结构以提供更好的性能。
默认情况下innodb_adaptive_hash_index 参数是启用的ON这意味着自适应哈希索引功能是开启的。当启用自适应哈希索引时InnoDB存储引擎会根据查询模式和数据访问模式自动调整哈希索引的大小和结构以提供更好的查询性能。
2、innodb_async_truncate_work_enabled
innodb_async_truncate_work_enabled 是MySQL InnoDB存储引擎的一个配置参数用于控制异步截断操作的启用或禁用。
异步截断是指在删除或截断表时MySQL InnoDB存储引擎是否使用异步方式执行这些操作。异步截断可以提高删除或截断大表时的性能因为它允许MySQL继续处理其他查询和操作而不必等待删除或截断操作完成。
默认情况下innodb_async_truncate_work_enabled 参数是启用的ON这意味着异步截断功能是开启的。当执行删除或截断操作时MySQL InnoDB存储引擎会将这些操作放入一个队列中并在后台异步执行。这样删除或截断操作可以更快地完成而不会阻塞其他查询和操作。
3、innodb_async_drop_tmp_dir
innodb_async_drop_tmp_dir 是 MySQL InnoDB 存储引擎的一个配置参数用于指定异步临时表删除操作的临时文件目录。
在 MySQL 中当使用 InnoDB 存储引擎创建临时表时如果启用了异步临时表删除功能那么在删除临时表时MySQL 会将删除操作放入一个队列中并在后台异步执行。这样可以提高删除临时表的性能因为 MySQL 不需要等待删除操作完成才能继续处理其他查询和操作。
innodb_async_drop_tmp_dir 参数用于指定异步临时表删除操作的临时文件目录。默认情况下该参数为空表示使用 MySQL 配置文件中的 tmpdir 参数指定的临时文件目录。
总结
修改完这些参数执行drop命令后实现了秒级删除业务负载正常。