Add partial index for common recentchanges query.
authorGreg Sabino Mullane <greg@users.mediawiki.org>
Thu, 24 Jul 2008 22:28:29 +0000 (22:28 +0000)
committerGreg Sabino Mullane <greg@users.mediawiki.org>
Thu, 24 Jul 2008 22:28:29 +0000 (22:28 +0000)
maintenance/postgres/tables.sql
maintenance/updaters.inc

index 40a948e..b86b87b 100644 (file)
@@ -351,6 +351,7 @@ CREATE TABLE recentchanges (
   rc_params          TEXT
 );
 CREATE INDEX rc_timestamp       ON recentchanges (rc_timestamp);
+CREATE INDEX rc_timestamp       ON recentchanges (rc_timestamp) WHERE rc_bot = '0';
 CREATE INDEX rc_namespace_title ON recentchanges (rc_namespace, rc_title);
 CREATE INDEX rc_cur_id          ON recentchanges (rc_cur_id);
 CREATE INDEX new_name_timestamp ON recentchanges (rc_new, rc_namespace, rc_timestamp);
index 67680c4..b121f2f 100644 (file)
@@ -1515,10 +1515,11 @@ function do_postgres_updates() {
        );
 
        $newindexes = array(
-               array("archive",       "archive_user_text", "(ar_user_text)"),
-               array("image",         "img_sha1",          "(img_sha1)"),
-               array("oldimage",      "oi_sha1",           "(oi_sha1)"),
-               array("revision",      "rev_text_id_idx",   "(rev_text_id)"),
+               array("archive",       "archive_user_text",  "(ar_user_text)"),
+               array("image",         "img_sha1",           "(img_sha1)"),
+               array("oldimage",      "oi_sha1",            "(oi_sha1)"),
+               array("revision",      "rev_text_id_idx",    "(rev_text_id)"),
+               array("recentchanges", "rc_timestamp_nobot", "(rc_timestamp) WHERE rc_bot = 0"),
        );
 
        $newrules = array(