From 9d0687b0559095f270a55af3467c53ad29bfd4c7 Mon Sep 17 00:00:00 2001 From: Brion Vibber Date: Tue, 10 Nov 2009 08:23:24 -0800 Subject: Adjusting indexes to make favorites query more efficient, based on feedback from ops. 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 | 3 +++ db/08to09_pg.sql | 3 +++ db/statusnet.sql | 2 +- db/statusnet_pg.sql | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) (limited to 'db') diff --git a/db/08to09.sql b/db/08to09.sql index a0e37f0f1..e6842225b 100644 --- a/db/08to09.sql +++ b/db/08to09.sql @@ -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); diff --git a/db/08to09_pg.sql b/db/08to09_pg.sql index 197fcabfd..956c4dee5 100644 --- a/db/08to09_pg.sql +++ b/db/08to09_pg.sql @@ -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); diff --git a/db/statusnet.sql b/db/statusnet.sql index 3ed4e2c48..510c8866e 100644 --- a/db/statusnet.sql +++ b/db/statusnet.sql @@ -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; diff --git a/db/statusnet_pg.sql b/db/statusnet_pg.sql index 0e5e96c32..710883e57 100644 --- a/db/statusnet_pg.sql +++ b/db/statusnet_pg.sql @@ -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 */ -- cgit v1.2.3-54-g00ecf