$notice->repeat_of = $this->id;
- $notice->orderBy('created'); // NB: asc!
+ $notice->orderBy('created, id'); // NB: asc!
if (!is_null($limit)) {
$notice->limit(0, $limit);
-- 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);
-- 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;