MySQL中的Big InnoDB表

时间:2015-09-11 12:40:34

标签: mysql innodb

有10个InnoDB分区表。 MySQL配置了选项innodb-file-per-table = 1(每个表/分区的innodb文件 - 由于某些原因)。每个表的大小为40GB。它们包含统计数据。

在正常操作期间,系统可以处理负载。每N分钟处理累积的数据。但是,如果由于某种原因,超过30分钟没有治疗(例如,维护系统 - 很少见,但每年需要进行一次更改),开始锁定超时。

我不会告诉你如何实现这样的架构,但它是最好的解决方案 - 方式很长。 Еach时间,做出改变需要越来越多的时间。例如,今天,一个简单的ALTER TABLE耗时2:45小时。这是不可接受的。

因此,正如我所说,处理累积数据需要大量资源,SELECT语句开始返回锁定超时错误。当然,查询中的表不涉及,并且工作将转到查询结果。这10张桌子的总大小约为400GB,还有几十张小桌子,其总面积与大桌子的大小相当(可能还没有)。那里有小桌子的问题。

我的问题是:如何通过锁定超时错误解决问题?服务器也不错 - 8核xeon,64 RAM。这只是数据库服务器。当然,整个系统不在同一台机器上。 我得到这个错误的唯一原因是:从大表到小表的数据转换过程。

有什么想法吗?

0 个答案:

没有答案