Author: sean
Description:
The query in updateArticleCount.inc.php's makeSql() function can be made faster an less RAM-intensive. It currently queries for a ton of rows, then counts the number of rows in the result.
The current query is:
return "SELECT DISTINCT page_namespace,page_title FROM $page,$pagelinks " .
"WHERE pl_from=page_id and page_namespace IN ( $nsset ) " . "AND page_is_redirect = 0 AND page_len > 0";
but could be changed to:
return "SELECT COUNT(DISTINCT page_namespace,page_title) FROM $page,$pagelinks " .
"WHERE pl_from=page_id and page_namespace IN ( $nsset ) " . "AND page_is_redirect = 0 AND page_len > 0";
The code in the count() function would have to be updated also. Instead of
$count = $this->dbr->numRows( $res ); $this->dbr->freeResult( $res ); return $count;
it could be changed to:
$row = $this->dbr->fetchObject( $res ); $this->dbr->freeResult( $res ); return (int)$row->count;
Version: unspecified
Severity: normal