我在我的服务器上运行一个脚本,每分钟插入大约 3000 条记录,每 ~2kB。服务器的内存似乎被此活动的数据堵塞了。(20 分钟 100MB)
最终,我必须终止进程(HTTPD 和 MySQLd)甚至重新启动服务器以取回内存......
插入大量记录时有什么方法可以节省内存?似乎MySQL以某种方式缓存了插入的数据......
谢谢!
我在我的服务器上运行一个脚本,每分钟插入大约 3000 条记录,每 ~2kB。服务器的内存似乎被此活动的数据堵塞了。(20 分钟 100MB)
最终,我必须终止进程(HTTPD 和 MySQLd)甚至重新启动服务器以取回内存......
插入大量记录时有什么方法可以节省内存?似乎MySQL以某种方式缓存了插入的数据......
谢谢!
关闭mysql缓存? 只是禁用它:(取自这里)
SET GLOBAL query_cache_size = 40000; # minimum as docs says
SET SESSION query_cache_type = OFF;
您可以SHOW VARIABLES LIKE 'foo';
检查这些值包含的内容。
有更好的方法可以提高插入性能。
首先,您是否有可能每十秒在一个查询中发送这些插入?或类似的东西。这里的想法是向服务器发送更少的查询。
另外,你使用 InnoDB 吗?该引擎更适合这种类型的 uf 使用。