我正在将一个论坛从myBB转换为IPBoard(转换是通过PHP脚本完成的),但我有超过400万个帖子需要转换,并且以当前速率大约需要10个小时。我基本上有无限的内存和CPU,我想知道的是如何加快这个过程?有没有办法可以为这一个流程分配大量内存? 谢谢你的帮助!
答案 0 :(得分:1)
你不会让脚本更快地运行。通过给它更多的记忆,你可能能够让它一次做更多的帖子。更改memory_limit
文件中的php.ini
以更改可以使用的内存量。
您可以告诉脚本一次执行一个论坛。然后你可以一次运行几个脚本副本。这将受限于它与数据库表的对话以及是否已编写脚本以允许此操作 - 它可能会执行诸如锁定目标表或在源表上执行疯狂的长读操作之类的事情。无论如何,如果没有一切都放慢速度,你不可能一次运行三到四次。
可能有可能改进脚本,但这将是几天的努力学习两个论坛的数据库格式的内部。你有没有在论坛上询问过IPBoard?也许有人在你想做的事情上有经验。
答案 1 :(得分:0)
不确定转换是如何完成的,但是如果要导入sql文件,则可以将其拆分为多个文件并同时导入它们。希望有帮助:)
答案 2 :(得分:0)
如果您说您已经转换了文件,那么您应该查看MySQL Load Data In FIle进行导入,因为您可以访问MySQL控制台。这将比通过source命令执行SQL语句更快地加载数据。
如果您没有在文件中使用它们并且您正在动态执行它们,那么我建议让转换脚本将数据写入文件(将时间限制设置为0以允许它运行)然后使用该load data命令插入/更新数据。