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 = new Reply();
|
||||||
$reply->profile_id = $user_id;
|
$reply->profile_id = $user_id;
|
||||||
|
|
||||||
if ($since_id != 0) {
|
Notice::addWhereSinceId($reply, $since_id, 'notice_id', 'modified');
|
||||||
$reply->whereAdd('notice_id > ' . $since_id);
|
Notice::addWhereMaxId($reply, $max_id, 'notice_id', 'modified');
|
||||||
}
|
|
||||||
|
|
||||||
if ($max_id != 0) {
|
$reply->orderBy('modified DESC, notice_id DESC');
|
||||||
$reply->whereAdd('notice_id <= ' . $max_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
$reply->orderBy('notice_id DESC');
|
|
||||||
|
|
||||||
if (!is_null($offset)) {
|
if (!is_null($offset)) {
|
||||||
$reply->limit($offset, $limit);
|
$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
|
-- 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);
|
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),
|
constraint primary key (notice_id, profile_id),
|
||||||
index reply_notice_id_idx (notice_id),
|
index reply_notice_id_idx (notice_id),
|
||||||
index reply_profile_id_idx (profile_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;
|
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user