The size of the w3t_Posts table makes worlds of difference in speed. I have discussed the idea of an auto archival tool here before but it's something I can't warrant the time for.
What needs to be done is that when a thread expires it is moved to an archive table that has the same layout as the posts table. We only want to allow viewing of the archives so this table should only be accessed with ubbthreads.php, postlist.php, showflat.php and showthreaded.php. These scripts need to be modified to allow for a toggle that instructs them to use the archive table. We also need to mirror actions taken on the boards table such as the deletion of a board should delete related posts in both the posts/archive tables. The deletion of a user should also be mirrored on both tables.
Then a cron script needs to be made that moves the expired threads and replies to the archive table.
On very large sites this will cut the page generation times of IIP by more than half. This is another reason I would love to see this tool materialize.
