2010-07-26 60 views
1

我正在將論壇從myBB轉換爲IPBoard(轉換是通過PHP腳本完成的),但是我有超過4百萬個需要轉換的帖子,並且需要大約10個小時當前利率。我基本上擁有無限的內存和CPU,我想知道的是如何加速這個過程?有沒有一種方法可以爲這個過程分配大量的內存? 感謝您的幫助!加速論壇轉換

回答

0

不知道轉換是如何完成的,但是如果您要導入一個sql文件,可以將它分割爲多個文件並同時導入它們。希望可以幫助:)

+0

轉換是通過一次轉換1500個帖子的PHP腳本完成的。 – YCMaker 2010-07-26 21:31:52

0

如果您說您的文件已被轉換,您應該查看MySQL Load Data In FIle進行導入,因爲您可以訪問MySQL控制檯。這將比通過source命令執行SQL語句的速度快得多。

如果你沒有它們在文件中,並且你正在做它們,那麼我建議讓轉換腳本將數據寫入文件(將時間限制設置爲0以允許它運行)以及然後使用該load data命令插入/更新數據。

+0

不幸的是,轉換是通過PHP腳本完成的;基本上,我想知道是否有辦法讓腳本運行得更快。 – YCMaker 2010-07-26 21:34:29

+1

除了將所有轉換存儲到文件中,然後再加載數據之外,我不這麼認爲。但是發佈腳本,我們可以幫助優化腳本/確保腳本儘可能最佳。但是,在MySQL數據庫上運行多個單個查詢通常很慢,能夠通過Extended Inserts或通過文件加載進入速度更快。 – 2010-07-26 21:36:01

1

你不會讓腳本運行得更快。儘管給它更多的記憶,但你也許能夠一次做更多的帖子。在您的php.ini文件中更改memory_limit以更改它可以使用多少內存。

您可能會告訴腳本一次執行一個論壇。然後,您可以一次運行多個腳本副本。這將受限於它與數據庫表的交互方式以及是否已寫入腳本以允許執行此操作 - 它可能會執行一些愚蠢的操作,如鎖定目標表或在源表上執行瘋狂的長時間讀操作。無論如何,無論如何,如果沒有任何事情放緩,你將不可能同時獲得三四個以上的成績。

改進腳本可能是可能的,但這將花費幾天的時間努力學習這兩個論壇的數據庫格式。你有沒有在論壇上詢問IPBoard?也許有人在你想要做的事情上有經驗。