forked from GNUsocial/gnu-social
Update sorting on reply/mentions timeline: added reply_profile_id_modified_notice_id_idx index to reply table
This commit is contained in:
parent
00a5a5342a
commit
3ddfa4de93
@ -50,15 +50,10 @@ class Reply extends Memcached_DataObject
|
||||
$reply = new Reply();
|
||||
$reply->profile_id = $user_id;
|
||||
|
||||
if ($since_id != 0) {
|
||||
$reply->whereAdd('notice_id > ' . $since_id);
|
||||
}
|
||||
Notice::addWhereSinceId($reply, $since_id, 'notice_id', 'modified');
|
||||
Notice::addWhereMaxId($reply, $max_id, 'notice_id', 'modified');
|
||||
|
||||
if ($max_id != 0) {
|
||||
$reply->whereAdd('notice_id <= ' . $max_id);
|
||||
}
|
||||
|
||||
$reply->orderBy('notice_id DESC');
|
||||
$reply->orderBy('modified DESC, notice_id DESC');
|
||||
|
||||
if (!is_null($offset)) {
|
||||
$reply->limit($offset, $limit);
|
||||
|
@ -5,3 +5,6 @@ alter table notice add index notice_created_id_is_local_idx (created,id,is_local
|
||||
|
||||
-- Allows sorting tag-filtered public timeline by timestamp efficiently
|
||||
alter table notice_tag add index notice_tag_tag_created_notice_id_idx (tag, created, notice_id);
|
||||
|
||||
-- Needed for sorting reply/mentions timelines
|
||||
alter table reply add index reply_profile_id_modified_notice_id_idx (profile_id, modified, notice_id);
|
||||
|
@ -162,7 +162,10 @@ create table reply (
|
||||
constraint primary key (notice_id, profile_id),
|
||||
index reply_notice_id_idx (notice_id),
|
||||
index reply_profile_id_idx (profile_id),
|
||||
index reply_replied_id_idx (replied_id)
|
||||
index reply_replied_id_idx (replied_id),
|
||||
|
||||
-- Needed for sorting reply/mentions timelines
|
||||
index reply_profile_id_modified_notice_id_idx (profile_id, modified, notice_id)
|
||||
|
||||
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user