如何将1亿行表导入数据库?

时间:2011-06-01 11:15:26

标签: mysql database

任何人都能指导我查询吗?我正在用模糊逻辑申请银行业。我必须每天导入1亿行的表。我正在使用MySql来处理这个缓慢处理的应用程序。那么有没有其他服务器来处理我的数据库,可以快速访问?

4 个答案:

答案 0 :(得分:5)

我们在RDBMS(Oracle)中每天大约加载大约一半的行,如果不能访问DBA关于我的RDBMS的知识,我就不会实现这样的事情。我们每月对这个系统进行几次微调,但我们仍然会遇到新的问题。这是一项非常重要的任务,唯一有效的答案是:

不要玩,让你的经理找到一个了解他们业务的DBA!

注意:我们的系统已经存在了10年。它不是一天建成的......

答案 1 :(得分:2)

每天1亿行?

你必须现实。我怀疑任何数据库的任何单个实例都可以有效地处理这种类型的吞吐量。您应该查看聚类选项和其他优化技术,例如将数据拆分为两个不同的DB(分片)。

MySQL Enterprise内置了许多功能,可以简化和监控群集过程,但我认为MySQL社区版也支持它。

好运!

答案 2 :(得分:0)

你好吗? 一个人的交易?

或许尝试以100或1000的块进行小型交易。

那张桌子上有索引吗?在启动improt之前删除索引(如果由于独特的costraints等原因可能),并在导入后重建索引。

另一个选项可能是内存数据库。

答案 3 :(得分:0)

好吧,看起来您的业务主要逻辑并不依赖于将这些100十亿行导入数据库,否则您不会被自己坚持这样做,对吧? (如果我错了,请纠正我)

在主要业务不需要时,您确定需要将这些行导入数据库吗?你会问这个日期有什么问题?难道你不能将日志文件保存在一堆服务器上并用例如Hadoop查询它们吗?或者,您是否可以聚合日志文件中包含的信息并仅存储精简版本?

我也问这个问题,因为听起来你似乎计划对数据执行一些至少中等复杂的分析,一旦你在数据库中获得这些数据,这些数据的麻烦就不会停止。

相关问题