Cuando los foros son muy grandes (pongamos 1000 temas) el prune se puede hacer eterno...
Esto es sobre todo causado por la poca eficiencia del SQL del prunining de los foros.
Para solucionarlo he mejorado la SQL de la funcion prune:
includes/phpBB/prune.php sobre la linea 35:
Quote::
//
// Those without polls and announcements ... unless told otherwise!
//
// $sql = "SELECT t.topic_id FROM " . POSTS_TABLE . " p, " . TOPICS_TABLE . " t
// WHERE t.forum_id = $forum_id
// $prune_all
// AND ( p.post_id = t.topic_last_post_id OR t.topic_last_post_id = 0 )";
$sql = "SELECT t.topic_id FROM " . POSTS_TABLE . " p LEFT JOIN " . TOPICS_TABLE . " t ON p.post_id = t.topic_last_post_id
WHERE t.forum_id = $forum_id $prune_all ";
Ahora va casi 100 veces mas rapido. |