使用MySQL/PHP导入大量数据
我们创建了一个导入脚本,将大约120GB的数据导入MySQL数据库。数据保存在几百个目录中(所有目录都是独立的数据库)。每个目录包含具有表结构和表数据的文件 问题是,;它在我的本地机器上使用实际数据的子集,但在服务器上运行导入时(需要几天)。并不是所有的表都被创建(甚至是在本地测试的表)。奇怪的是,当脚本在服务器上运行时,在创建表时没有显示任何错误 以下是脚本的工作原理:使用MySQL/PHP导入大量数据,php,mysql,Php,Mysql,我们创建了一个导入脚本,将大约120GB的数据导入MySQL数据库。数据保存在几百个目录中(所有目录都是独立的数据库)。每个目录包含具有表结构和表数据的文件 问题是,;它在我的本地机器上使用实际数据的子集,但在服务器上运行导入时(需要几天)。并不是所有的表都被创建(甚至是在本地测试的表)。奇怪的是,当脚本在服务器上运行时,在创建表时没有显示任何错误 以下是脚本的工作原理: 查找表示数据库的所有目录 创建所有数据库 通过表的每个数据库循环:创建表、填充表 添加了gist上的代码:添加更多日志记录以
添加了gist上的代码:添加更多日志记录以查看成功的步骤,因为您可能在内存使用或执行时间方面有问题 为什么不从给定的CVS文件创建sql文件,然后在bash中进行正常导入呢
mysql-u root-ppassword db_something
在所有文件的子集上测试代码时,所有表信息和表内容(如果可用)。当无法创建表计数时,函数将输入一条日志语句,然后返回。在实际数据上,这是一个错误,因为存在没有数据和结构的文件,所以在创建了一些表之后,创建某个数据库的表出错了,并返回了一个结果,因此没有创建其他表 几乎没有足够的信息供任何人帮助您。但是我建议你使用一种更合适的语言将如此大量的数据导入MySQL。可能是你的一些设置,其余的很难理解,没有任何代码。我同意Martin的观点,PHP不是这里使用的正确语言。尝试编译而不是解释的东西。你需要什么信息。我不知道在哪里寻找问题,所以给我指出一个方向,我就会得到信息。其次,我对所选的语言无能为力。@mihaiorga脚本在执行时间(好的,很多重置)和内存管理方面做得非常好。在gist上添加了代码。stackoverflow格式化程序无法处理它。