- Patch #243093 by catch, killes: improved indices on comment table.
parent
b0ebab68ca
commit
44a4cfebcd
|
@ -153,6 +153,18 @@ function comment_update_7002() {
|
|||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Improve indexes on the comment table.
|
||||
*/
|
||||
function comment_update_7003() {
|
||||
$ret = array();
|
||||
db_drop_index($ret, 'comment', 'status');
|
||||
db_drop_index($rest, 'comment', 'pid');
|
||||
db_add_index($ret, 'comment', 'comment_pid_status', array('pid', 'status'));
|
||||
db_add_index($ret, 'comment', 'comment_num_new', array('nid', 'timestamp', 'status'));
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* @} End of "defgroup updates-6.x-to-7.x"
|
||||
* The next series of updates should start at 8000.
|
||||
|
@ -255,10 +267,8 @@ function comment_schema() {
|
|||
)
|
||||
),
|
||||
'indexes' => array(
|
||||
'pid' => array('pid'),
|
||||
'nid' => array('nid'),
|
||||
// This index is probably unused.
|
||||
'status' => array('status'),
|
||||
'comment_status_pid' => array('pid', 'status'),
|
||||
'comment_num_new' => array('nid', 'timestamp', 'status'),
|
||||
),
|
||||
'primary key' => array('cid'),
|
||||
'foreign keys' => array(
|
||||
|
|
|
@ -1335,7 +1335,7 @@ function comment_num_new($nid, $timestamp = 0) {
|
|||
$timestamp = ($timestamp > NODE_NEW_LIMIT ? $timestamp : NODE_NEW_LIMIT);
|
||||
|
||||
// Use the timestamp to retrieve the number of new comments.
|
||||
return db_query('SELECT COUNT(c.cid) FROM {node} n INNER JOIN {comment} c ON n.nid = c.nid WHERE n.nid = :nid AND timestamp > :timestamp AND c.status = :status', array(
|
||||
return db_query('SELECT COUNT(cid) FROM {comment} WHERE nid = :nid AND timestamp > :timestamp AND status = :status', array(
|
||||
':nid' => $nid,
|
||||
':timestamp' => $timestamp,
|
||||
':status' => COMMENT_PUBLISHED,
|
||||
|
|
Loading…
Reference in New Issue