Manually dropping the fulltext-index 'title' (title, 'pagetext') from the post table before the post module, then adding it after the import has been run can speed up the post module considerably.
ALTER TABLE `post` DROP INDEX `title`;
ALTER TABLE `post` ADD FULLTEXT `title` (`title` ,`pagetext`);
Display
Set the following in your ImpExConfig to lower the amount of display data sent to the browser.
define('shortoutput', true);
The estimates for a database based system, is that 200,000 is medium sized, over 750,000 posts is large.
The most important thing for ImpEx when dealing with medium or large imports is memory ImpEx needs to hold reference arrays when importing posts, i.e.
- userid to importuserid
- importthreadid to threadid
- userid to username
- forumid to importforumid
The bare minimum for a small import and running vBulletin is 8Meg, 16Meg is advised.
For a medium import 32-64Meg would be expected. For a large source board, its a sliding scale of how big your forum is, though 64Meg is a good setting to start with.
Changing the PHP memory limit requires access to you php.ini file and the ability to restart the webserver, if you do not have control of the webserver you may have to contact your ISP or find another server for the purposes of just doing the import.
dupe_checking
There is a setting in the ImpExConfig.php that enables and disables duplicate data checking, if you have a stable server and a fast connection where the pages are loading fine and there is no manual refreshing or back button use the setting this to false will increase the speed of the import.
Though if you need to or choose to run dupe checking, adding these indexes will help greatly :
ALTER TABLE `post` ADD INDEX `idx_importpostthread` ( `importpostid` , `importthreadid` )
ALTER TABLE `thread` ADD INDEX `idx_importthread` ( `importthreadid` )
ImpEx has the ability to run stand alone, i.e. not in the adminCP.
To do this, move the impex/ directory out of the forum/ folder i.e. If you are installed in
example.com/forum/
So you have :
example.com/forum/admincp/
example.com/forum/impex/
etc
Move ImpEx to the root folder so you have :
example.com/impex
Configure ImpExConfig.php for the target database information as it will not be able to read the vBulletin config file. Then browse to it directly e.g. www.example.com/impex/index.php.
This will lower the memory over head as it won't have to load inside the adminCP, also it will not time out within the admincp and will load slightly faster.