>我在服务器上运行一个脚本,该脚本每分钟插入大约 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 使用。