Fix index on notice for efficient querying of notice(s) by order for a profile.

Should resolve performance problem with Profile::getCurrentNotice()
This commit is contained in:
Brion Vibber 2009-11-12 11:08:43 -08:00
parent d8fe5224cb
commit 81fa515881
4 changed files with 10 additions and 2 deletions

View File

@ -51,3 +51,7 @@ alter table subscription
add index subscription_subscriber_idx (subscriber,created), add index subscription_subscriber_idx (subscriber,created),
drop index subscription_subscribed_idx, drop index subscription_subscribed_idx,
add index subscription_subscribed_idx (subscribed,created); 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);

View File

@ -57,3 +57,7 @@ alter table subscription
add index subscription_subscriber_idx using btree(subscriber,created), add index subscription_subscriber_idx using btree(subscriber,created),
drop index subscription_subscribed_idx, drop index subscription_subscribed_idx,
add index subscription_subscribed_idx using btree(subscribed,created); 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);

View File

@ -130,7 +130,7 @@ create table notice (
location_id integer comment 'location id if possible', location_id integer comment 'location id if possible',
location_ns integer comment 'namespace for location', 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_conversation_idx (conversation),
index notice_created_idx (created), index notice_created_idx (created),
index notice_replyto_idx (reply_to), index notice_replyto_idx (reply_to),

View File

@ -137,7 +137,7 @@ create table notice (
/* FULLTEXT(content) */ /* 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 index notice_created_idx on notice using btree(created);
create table notice_source ( create table notice_source (