MySQL数据库的内存使用情况

时间:2013-12-17 07:34:21

标签: mysql performance partitioning myisam

我们有一个MySQL DB(OLD_DATA),其中许多分区表大小超过100GB。为了提高服务器性能,我们考虑创建并行数据库(NEW_DATA)并开始在NEW_DATA中收集新数据。

数据库是MyISAM,服务器有96GB RAM。

此后将无法访问OLD_DATA。

这种方法是否有助于提高RAM和CPU使用率方面的服务器性能? 来自OLD_DATA的数据是否会加载到内存中?

1 个答案:

答案 0 :(得分:0)

请提供SHOW CREATE TABLE。如果是,正如您所暗示的那样,PARTITIONed,那么我们需要将其纳入分析中。

一般来说,如果" old"不再以任何方式访问行,它们不会受到伤害,也不需要执行您所做的操作。请详细说明您认为的问题"慢",最好是提供EXPLAIN SELECT

MyISAM在" key_buffer"中缓存索引块;指数有多大? key_buffer_size设置为什么?数据块由操作系统缓存。

这是非常正常的'系统的数据集是RAM的许多倍。性能取决于工作集'数据集的数据以及您查询数据的积极程度。你暗示过" old"行不被使用,因此不属于'工作集'。

另一方面,如果您有"表扫描",则整个表是工作集的一部分。我们很可能会建议如何更好地改变这些查询。