]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Adjusting indexes to make favorites query more efficient, based on feedback from...
authorBrion Vibber <brion@pobox.com>
Tue, 10 Nov 2009 16:23:24 +0000 (08:23 -0800)
committerBrion Vibber <brion@pobox.com>
Tue, 10 Nov 2009 16:23:24 +0000 (08:23 -0800)
fave_user_id_idx index changed from (user_id) to (user_id,modified), so the timestamp ordering can be done straight from the index while we're looking up the user's notices.
Added to 08to09.sql and 08to09_pg.sql; may need to be run manually by folks doing development.
(No harm if you don't update it, the favorites tab/rss feed will just stay inefficent.)

db/08to09.sql
db/08to09_pg.sql
db/statusnet.sql
db/statusnet_pg.sql

index a0e37f0f14c66c3647231f2071dc6db854a48ec1..e6842225bb34fd955bfde1aef934712aae64cc0c 100644 (file)
@@ -42,3 +42,6 @@ create table login_token (
     constraint primary key (user_id)
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
 
+alter table fave
+    drop index fave_user_id_idx,
+    add index fave_user_id_idx (user_id,modified);
index 197fcabfdb246c18c93debc3db76b8956803ad22..956c4dee55dc841c7df77cd726e66a0fe60b7d08 100644 (file)
@@ -48,3 +48,6 @@ create table login_token (
     constraint primary key (user_id)
 );
 
+alter table fave
+    drop index fave_user_id_idx,
+    add index fave_user_id_idx using btree(user_id,modified);
index 3ed4e2c48b0e74aea27018242302aa4e778fdf2e..510c8866efe2be190d37fbf9404f613ed4f2df89 100644 (file)
@@ -165,7 +165,7 @@ create table fave (
 
     constraint primary key (notice_id, user_id),
     index fave_notice_id_idx (notice_id),
-    index fave_user_id_idx (user_id),
+    index fave_user_id_idx (user_id,modified),
     index fave_modified_idx (modified)
 
 ) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
index 0e5e96c327ed718ff4f597f831edf8181bcfd0c7..710883e57dee3710d88b41382750d55ecb7480d0 100644 (file)
@@ -171,7 +171,7 @@ create table fave (
 
 );
 create index fave_notice_id_idx on fave using btree(notice_id);
-create index fave_user_id_idx on fave using btree(user_id);
+create index fave_user_id_idx on fave using btree(user_id,modified);
 create index fave_modified_idx on fave using btree(modified);
 
 /* tables for OAuth */