我正在将我的数据库移动到mysql,但是有一个表非常大(每年超过4700万行),并且插入所有数据需要数年时间。
我已经尝试过在论坛,分区,索引,全文中找到的所有内容......并且它确实更好,但它远离效率。
提供更多背景资料:数据库是关于过去十年记录的水文资料。在我的数据库中有三个表:一个保存要保存的对象,另一个保存每个对象的传感器,最后一个和导致大问题的是每小时保存为每个传感器收集的所有信息的表。 (该表每年将有4700万条数据存入数据库)
有什么办法可以在不到10个小时内完成插入?
非常感谢!
更新
我正在尝试做什么(因为它更简单)是将数据从我们的自定义数据库(基于文件系统,使用自定义二进制文件)传输到标准SQL数据库。信息的真正来源来自我们的专有软件,它是在内存中分配的数据:程序有一大组对象,我们在其中存储日期/值的向量,这可能是巨大的,这取决于处理(因为我们可以选择任何startDate和endDate)。我们想存储每小时数据。这将是SQL数据库的最终目标。
答案 0 :(得分:0)
不确定您的数据目前是什么数据库或格式,但导入MySQL的最快方法是LOAD DATA INFILE语法 - http://dev.mysql.com/doc/refman/5.1/en/load-data.html - 根据我的经验,它比其他任何方式都快得多适用于任何大量数据的方式。
我认为你最好的选择是结合你尝试的其他技术(禁用所有索引,键等)。 This link也可能有用。