Те у кого на форуме приличное количество постов , (например у меня около 40 000) думаю заметили, что форум просто терзает MySQL сервер своими запросами, и как следствие работает достаточно медленно.
Внимательно пройдясь по базе данных можно заметить, что форум плохо использует индексы и поэтому бесконечно сканирует таблицы.
Проблему решил вот таким образом ( делаем АККУРАТНО!!! и на свой страх и риск. ) :
ALTER TABLE `jos_fb_messages` DROP INDEX `thread` , ADD INDEX `thread` ( `thread` , `time` )
ALTER TABLE `jos_fb_whoisonline` ADD INDEX `user` (`user`);
ALTER TABLE `jos_fb_sessions` ADD INDEX `userid` (`userid`);
ALTER TABLE `jos_fb_users` ADD INDEX `userid` (`userid`);
ALTER TABLE `jos_fb_users` ADD INDEX `post_userid` (`posts`, `userid`);
ALTER TABLE `jos_fb_messages` ADD INDEX `id_hold` (`id`, `hold`);
ALTER TABLE `jos_fb_messages` ADD INDEX `thread_id` (`thread`, `id`, `hold`, `catid`, `time`);
ALTER TABLE `jos_fb_messages` ADD INDEX `cat_parent_hold` (`catid`, `parent`, `hold`, `id`);
ALTER TABLE `jos_fb_messages` ADD INDEX `cat_hold_`(`catid`, `hold`, `moved`, `time`);
ALTER TABLE `jos_fb_messages_text` ADD INDEX `mesid` (`mesid`);
ALTER TABLE `jos_fb_moderation` ADD INDEX `cat_user` (`catid`, `userid`);
ALTER TABLE `jos_fb_categories` ADD INDEX `pub_name_par` (`published`,`name`(20),`parent`);
ALTER TABLE `jos_fb_categories` ADD INDEX `pub_id` (`pub_access`, `id`, `name`(20));
Результат - форум летает , как будто там нету столько постов
