]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Update sorting on api/statuses/retweets: adds notice_repeat_of_created_id_idx index...
authorBrion Vibber <brion@pobox.com>
Fri, 17 Dec 2010 23:13:09 +0000 (15:13 -0800)
committerBrion Vibber <brion@pobox.com>
Fri, 17 Dec 2010 23:13:09 +0000 (15:13 -0800)
classes/Notice.php
db/096to097.sql
db/statusnet.sql

index c58705c4b887dfc625bd6242bbde151488f1e52c..ea69a5beda6dea5dff7c68550ee6398bca8249f4 100644 (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);
index c3f1fb42539a0022d52d75dbac1a32d2e579e54e..5947538da86a5b313697be7446947e8bb825da9e 100644 (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);
index 5898abf4639ec9069306c2bbee20a70d8c17ab0b..9624edd6f01f3d892e5cbaf07ca59fb1087dce77 100644 (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;