我在Windows 7机器上使用64位版本的MySQL 5.5。
我想从geonames.org中导入一些非常大的地理空间数据文件到MySQL中,这样我就可以对它运行查询,并为我的目的生成一个较小的数据集。
我使用的存储引擎是MyISAM,input数据是一个1千兆字节的文本文件,每行用制表符分隔。 我相信文本文件包含约800万行。
最初,我使用InnoDB引擎将文件导入数据库。 有很多警告,可能是由于地理空间数据。 import时间约6.5分钟,这是相当合理的。
然后我尝试使用MyISAM存储引擎将数据导入到数据库中。 import仍在运行,我花了30多分钟等待import完成。
服务器configuration了库存“开发人员”设置。 我注意到,当我使用MySQL Workbench查看服务器状态时,密钥效率运行在100%,而内存使用率约为40%(机器上有12GB内存),CPU使用率约为5%。 有什么特别的设置/调整,我应该看看加快import?
编辑:所以它只是完成导入:有没有什么办法来加速呢?
Query OK, 7836651 rows affected, 65535 warnings (50 min 20.89 sec) Records: 7836651 Deleted: 0 Skipped: 0 Warnings: 5630783
如果您使用的是LOAD DATA INFILE ,则需要确保将bulk_insert_buffer_size增加到256M等重要内容。
这听起来像是要使用InnoDB。 如果需要,还可以调整相关的MySQL设置以使用更多的RAM,并获得更快的磁盘(如果CPU和内存不挂钩,则磁盘几乎肯定是瓶颈)。