Update sorting for conversation views: adds notice_conversation_created_id_idx index on notice, replacing more limited notice_conversation_idx
This commit is contained in:
parent
71151b3bc0
commit
fb65d5901d
@ -704,19 +704,14 @@ class Notice extends Memcached_DataObject
|
|||||||
|
|
||||||
$notice->conversation = $id;
|
$notice->conversation = $id;
|
||||||
|
|
||||||
$notice->orderBy('id DESC');
|
$notice->orderBy('created DESC, id DESC');
|
||||||
|
|
||||||
if (!is_null($offset)) {
|
if (!is_null($offset)) {
|
||||||
$notice->limit($offset, $limit);
|
$notice->limit($offset, $limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($since_id != 0) {
|
Notice::addWhereSinceId($notice, $since_id);
|
||||||
$notice->whereAdd('id > ' . $since_id);
|
Notice::addWhereMaxId($notice, $max_id);
|
||||||
}
|
|
||||||
|
|
||||||
if ($max_id != 0) {
|
|
||||||
$notice->whereAdd('id <= ' . $max_id);
|
|
||||||
}
|
|
||||||
|
|
||||||
$ids = array();
|
$ids = array();
|
||||||
|
|
||||||
|
@ -1,10 +1,14 @@
|
|||||||
-- Add indexes for sorting changes in 0.9.7
|
-- Add indexes for sorting changes in 0.9.7
|
||||||
|
|
||||||
-- Allows sorting public timeline and api/statuses/repeats by timestamp efficiently
|
-- Allows sorting public timeline, api/statuses/repeats, and conversations by timestamp efficiently
|
||||||
alter table notice
|
alter table notice
|
||||||
add index notice_created_id_is_local_idx (created,id,is_local),
|
add index notice_created_id_is_local_idx (created,id,is_local),
|
||||||
|
|
||||||
|
add index notice_repeat_of_created_id_idx (repeat_of, created, id),
|
||||||
drop index notice_repeatof_idx,
|
drop index notice_repeatof_idx,
|
||||||
add index notice_repeat_of_created_id_idx (repeat_of, created, id);
|
|
||||||
|
add index notice_conversation_created_id_idx (conversation, created, id),
|
||||||
|
drop index notice_conversation_idx;
|
||||||
|
|
||||||
-- 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);
|
||||||
|
@ -140,11 +140,11 @@ create table notice (
|
|||||||
-- For api/statuses/repeats...
|
-- For api/statuses/repeats...
|
||||||
index notice_repeat_of_created_id_idx (repeat_of, created, id),
|
index notice_repeat_of_created_id_idx (repeat_of, created, id),
|
||||||
|
|
||||||
-- Are these enough?
|
-- For conversation views
|
||||||
index notice_conversation_idx (conversation),
|
index notice_conversation_created_id_idx (conversation, created, id),
|
||||||
index notice_created_idx (created),
|
|
||||||
|
-- Are these needed/used?
|
||||||
index notice_replyto_idx (reply_to),
|
index notice_replyto_idx (reply_to),
|
||||||
index notice_repeatof_idx (repeat_of),
|
|
||||||
|
|
||||||
FULLTEXT(content)
|
FULLTEXT(content)
|
||||||
) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
|
) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;
|
||||||
|
Loading…
Reference in New Issue
Block a user