Как удалить большую тему на форуме


Владельцам растущих или крупных форумов знакома ситуация, когда некоторые темы разрастаются до сотен страниц. И все бы хорошо, но тема в Курилке, откровенный треп и не имеет никакой ценности для форума. Бэкап форуму делать становится все сложнее, база увеличивается и получаем чемодан без ручки: и нести тяжело, и бросить жалко. Средствами форума удалить такую тему тоже проблема: 20-30 страничные темы удалить не проблема, а вот 200 – завалят базу.

В таких случаях нам нужен доступ к phpMyAdmin. Заходим в таблицу ibf_posts, выбираем нужную тему и начинаем потихоньку удалять посты:

delete low_priority FROM `ibf_posts` WHERE `topic_id`=ХХХ order by `post_date` Desc limit 200

Запрос приведен для форума IPB. Для других систем будет что-то подобное. Найдите название таблицы с постами. Последнюю цифру Limit определяем опытным путем, по реакции сервера. Например, “Запрос занял 0.8932 сек” – цифру можно увеличить, если секунд 15 – лучше уменьшить до 100.

После того, как в теме останется не больше 20 страниц, останавливаемся. Полностью тему лучше удалить средствами форума. Так удалятся записи в соседних таблицах, связанные с нашей темой.



This entry was posted in Блог and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *