首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在使用LOAD data INFILE导入大数据文件时保持MYSQL性能?

如何在使用LOAD data INFILE导入大数据文件时保持MYSQL性能?
EN

Stack Overflow用户
提问于 2011-01-11 07:44:49
回答 2查看 1.2K关注 0票数 2

我正在使用一个大型数据库(一些表500000000+行)。每天使用LOAD DATA INFILE替换3-1000万行,每次导入大约100万行(因此使用CRON一天3-10次)。问题是,在进行如此大的文件导入时,MySQL消耗了80%的CPU,所有来自网站的常见查询都变得非常慢或网站性能下降。该网站运行在亚马逊的EC2 Windows2008服务器上。有谁知道如何在一个EC2实例中解决这个问题(不拆分数据库),谢谢。

EN

回答 2

Stack Overflow用户

发布于 2011-01-11 08:04:55

一个又快又脏的黑客。如何将源文件拆分成较小的加载,然后作为DB加载操作执行,每次加载之间有5分钟的中断?一次管理1000万条记录将耗尽许多服务器和数据库资源,从而导致崩溃。如果您有一台内存很大的大型服务器,那么使用50-100K的负载可能并不是太糟糕。

票数 1
EN

Stack Overflow用户

发布于 2011-01-11 10:58:04

发布似乎是一条必由之路(这就是facebook的做法)

不确定你不这样做的理由是什么,预算限制?

其他可能的方法

  • discard使用windows cron - limitation of windows
  • setup mysql replication
  • during导入,防止所有查询命中主控,反之。一旦导入完成(例如设置两个标志文件,如果主标志存在,则使用从标志文件,如果从标志文件存在,则使用主标志文件,两者都不存在,则两者都可以是query)
  • consider partition
  • discard索引(承载consequence)

很大程度上取决于您数据库使用情况,如果不是关键任务,则进行离线导入非常合适

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4652816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档