首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL分区删除需要时间

MySQL分区删除需要时间
EN

Stack Overflow用户
提问于 2012-04-28 18:37:09
回答 1查看 2.1K关注 0票数 2

在某些情况下,我们使用MySQL按日期分区来存储数据,保存信息的X天,每天自动创建分区并删除旧分区(记住这里没有存档,只需删除)。数据还被某些散列划分成40个分区,以进一步优化访问。

当每天运行"alter分区“查询时,DB会出现明显的性能下降,而在此DB上中继的应用程序会显示掉的连接,每秒提供的请求更少等等。

对于这个带有MySQL的特定应用程序,我们正在运行InnoDB 5.5.17,每个被删除的分区都有数百万条记录(可能超过1000万条)。每个分区的大小平均为4.5GB。

在分区放置时,我没有看到该框上有任何密集的IO,所以我只能假设它与此无关。然而,CPU平均负载从正常的0.5上升到每天的8-10左右。这事持续了几分钟。

分区放置不是应该是一个简单的逻辑下降吗?我们是否有可能做错了什么,或者我们可以以某种方式来调整它,或者这是我们所期待的。

干杯

EN

回答 1

Stack Overflow用户

发布于 2012-11-20 01:43:04

我知道这是个老掉牙的问题,但这个问题没有答案,所以我会马上回答它。

如果您的文件系统是ext3,删除该文件可能需要一些时间。XFS和ext4会快得多。

从MySQL的角度来看,加快速度的一个诀窍是创建到分区文件的硬链接(而不是符号链接)。然后,DROP分区将简单地减少文件上的引用计数,这几乎是即时的。您可以将您创建的文件链接移除。这还需要一些时间,但MySQL不会看到。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10366425

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档