我在我的服务器上运行一个脚本,每个~2kB每分钟插入约3000条记录。服务器的内存似乎被来自此活动的数据阻塞。 (20分钟100MB)
最终,我必须杀死进程(HTTPD和MySQLd),甚至重新启动服务器才能恢复内存......
插入大量记录时有没有办法节省内存?似乎MySQL以某种方式缓存插入的数据......
谢谢!
答案 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使用,该引擎更好。