From: Brion Vibber Date: Thu, 12 Nov 2009 19:08:43 +0000 (-0800) Subject: Fix index on notice for efficient querying of notice(s) by order for a profile. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=81fa515881e42afe55379befa4e7d93313c90891;p=quix0rs-gnu-social.git Fix index on notice for efficient querying of notice(s) by order for a profile. Should resolve performance problem with Profile::getCurrentNotice() --- diff --git a/db/08to09.sql b/db/08to09.sql index 1d37a759d8..028fe56a48 100644 --- a/db/08to09.sql +++ b/db/08to09.sql @@ -51,3 +51,7 @@ alter table subscription add index subscription_subscriber_idx (subscriber,created), drop index subscription_subscribed_idx, add index subscription_subscribed_idx (subscribed,created); + +alter table notice + drop index notice_profile_id_idx, + add index notice_profile_id_idx (profile_id,created,id); diff --git a/db/08to09_pg.sql b/db/08to09_pg.sql index 004c77b365..fe9eccb2a9 100644 --- a/db/08to09_pg.sql +++ b/db/08to09_pg.sql @@ -57,3 +57,7 @@ alter table subscription add index subscription_subscriber_idx using btree(subscriber,created), drop index subscription_subscribed_idx, add index subscription_subscribed_idx using btree(subscribed,created); + +alter table notice + drop index notice_profile_id_idx, + add index notice_profile_id_idx using btree(profile_id,created,id); diff --git a/db/statusnet.sql b/db/statusnet.sql index 2983c67cfc..732aded5a5 100644 --- a/db/statusnet.sql +++ b/db/statusnet.sql @@ -130,7 +130,7 @@ create table notice ( location_id integer comment 'location id if possible', location_ns integer comment 'namespace for location', - index notice_profile_id_idx (profile_id), + index notice_profile_id_idx (profile_id,created,id), index notice_conversation_idx (conversation), index notice_created_idx (created), index notice_replyto_idx (reply_to), diff --git a/db/statusnet_pg.sql b/db/statusnet_pg.sql index 392a6a5f3c..7b0e5313ce 100644 --- a/db/statusnet_pg.sql +++ b/db/statusnet_pg.sql @@ -137,7 +137,7 @@ create table notice ( /* FULLTEXT(content) */ ); -create index notice_profile_id_idx on notice using btree(profile_id); +create index notice_profile_id_idx on notice using btree(profile_id,created,id); create index notice_created_idx on notice using btree(created); create table notice_source (