在MySQL数据库中插入大量记录会占用内存

时间:2012-06-02 15:01:30

标签: php mysql memory-leaks

我在我的服务器上运行一个脚本,每个~2kB每分钟插入约3000条记录。服务器的内存似乎被来自此活动的数据阻塞。 (20分钟100MB)

最终,我必须杀死进程(HTTPD和MySQLd),甚至重新启动服务器才能恢复内存......

插入大量记录时有没有办法节省内存?似乎MySQL以某种方式缓存插入的数据......

谢谢!

2 个答案:

答案 0 :(得分:0)

关闭mysql缓存? 只是禁用它:(取自here

SET GLOBAL query_cache_size = 40000;   # minimum as docs says
SET SESSION query_cache_type = OFF;

您可以SHOW VARIABLES LIKE 'foo';检查这些值包含的内容。

答案 1 :(得分:0)

有更好的方法可以提高插入性能。

首先,您是否有可能每10秒钟在一次查询中发送这些插入?或类似的东西。这里的想法是向服务器发送较少的查询。

另外,你使用InnoDB吗?对于这种类型的uf使用,该引擎更好。

相关问题