我正在使用一个大型数据库(一些表500000000+行)。每天使用LOAD DATA INFILE替换3-1000万行,每次导入大约100万行(因此使用CRON一天3-10次)。问题是,在进行如此大的文件导入时,MySQL消耗了80%的CPU,所有来自网站的常见查询都变得非常慢或网站性能下降。该网站运行在亚马逊的EC2 Windows2008服务器上。有谁知道如何在一个EC2实例中解决这个问题(不拆分数据库),谢谢。
发布于 2011-01-11 08:04:55
一个又快又脏的黑客。如何将源文件拆分成较小的加载,然后作为DB加载操作执行,每次加载之间有5分钟的中断?一次管理1000万条记录将耗尽许多服务器和数据库资源,从而导致崩溃。如果您有一台内存很大的大型服务器,那么使用50-100K的负载可能并不是太糟糕。
发布于 2011-01-11 10:58:04
发布似乎是一条必由之路(这就是facebook的做法)
不确定你不这样做的理由是什么,预算限制?
其他可能的方法
很大程度上取决于您数据库使用情况,如果不是关键任务,则进行离线导入非常合适
https://stackoverflow.com/questions/4652816
复制相似问题