Update sorting for tag-filtered public timeline: needs notice_tag_tag_created_notice_id_idx index added to notice_tag
This commit is contained in:
parent
33daace6cb
commit
00a5a5342a
|
@ -55,15 +55,10 @@ class Notice_tag extends Memcached_DataObject
|
||||||
$nt->selectAdd();
|
$nt->selectAdd();
|
||||||
$nt->selectAdd('notice_id');
|
$nt->selectAdd('notice_id');
|
||||||
|
|
||||||
if ($since_id != 0) {
|
Notice::addWhereSinceId($nt, $since_id, 'notice_id');
|
||||||
$nt->whereAdd('notice_id > ' . $since_id);
|
Notice::addWhereMaxId($nt, $max_id, 'notice_id');
|
||||||
}
|
|
||||||
|
|
||||||
if ($max_id != 0) {
|
$nt->orderBy('created DESC, notice_id DESC');
|
||||||
$nt->whereAdd('notice_id <= ' . $max_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
$nt->orderBy('notice_id DESC');
|
|
||||||
|
|
||||||
if (!is_null($offset)) {
|
if (!is_null($offset)) {
|
||||||
$nt->limit($offset, $limit);
|
$nt->limit($offset, $limit);
|
||||||
|
|
|
@ -1,3 +1,7 @@
|
||||||
-- Add indexes for sorting changes in 0.9.7
|
-- Add indexes for sorting changes in 0.9.7
|
||||||
|
|
||||||
-- Allows sorting public timeline by timestamp efficiently
|
-- Allows sorting public timeline by timestamp efficiently
|
||||||
alter table notice add index notice_created_id_is_local_idx (created,id,is_local);
|
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);
|
||||||
|
|
|
@ -307,7 +307,10 @@ create table notice_tag (
|
||||||
|
|
||||||
constraint primary key (tag, notice_id),
|
constraint primary key (tag, notice_id),
|
||||||
index notice_tag_created_idx (created),
|
index notice_tag_created_idx (created),
|
||||||
index notice_tag_notice_id_idx (notice_id)
|
index notice_tag_notice_id_idx (notice_id),
|
||||||
|
|
||||||
|
-- For sorting tag-filtered public timeline
|
||||||
|
index notice_tag_tag_created_notice_id_idx (tag, created, notice_id)
|
||||||
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
|
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
|
||||||
|
|
||||||
/* Synching with foreign services */
|
/* Synching with foreign services */
|
||||||
|
|
Loading…
Reference in New Issue
Block a user