Update sorting on api/statuses/retweets: adds notice_repeat_of_created_id_idx index to replace notice_repeatof_idx

This commit is contained in:
Brion Vibber 2010-12-17 15:13:09 -08:00
parent 04aa8bd70f
commit 1b90ed564a
3 changed files with 10 additions and 3 deletions

View File

@ -1690,7 +1690,7 @@ class Notice extends Memcached_DataObject
$notice->repeat_of = $this->id;
$notice->orderBy('created'); // NB: asc!
$notice->orderBy('created, id'); // NB: asc!
if (!is_null($limit)) {
$notice->limit(0, $limit);

View File

@ -1,7 +1,10 @@
-- Add indexes for sorting changes in 0.9.7
-- Allows sorting public timeline by timestamp efficiently
alter table notice add index notice_created_id_is_local_idx (created,id,is_local);
-- Allows sorting public timeline and api/statuses/repeats by timestamp efficiently
alter table notice
add index notice_created_id_is_local_idx (created,id,is_local),
drop index notice_repeatof_idx,
add index notice_repeat_of_created_id_idx (repeat_of, created, id);
-- 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);

View File

@ -137,11 +137,15 @@ create table notice (
-- For profile timelines...
index notice_profile_id_idx (profile_id,created,id),
-- For api/statuses/repeats...
index notice_repeat_of_created_id_idx (repeat_of, created, id),
-- Are these enough?
index notice_conversation_idx (conversation),
index notice_created_idx (created),
index notice_replyto_idx (reply_to),
index notice_repeatof_idx (repeat_of),
FULLTEXT(content)
) ENGINE=MyISAM CHARACTER SET utf8 COLLATE utf8_general_ci;