Drop duplicate database indexes
These duplicate indexes were found by the pt-duplicate-key-checker tool in percona-toolkit. Duplicate indexes waste space and slow down the query planner. Closes #835. Signed-off-by: Anders Kaseorg <andersk@mit.edu>
This commit is contained in:
parent
d8895ec679
commit
bd40827b73
5 changed files with 31 additions and 20 deletions
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
define('EXPECTED_CONFIG_VERSION', 26);
|
define('EXPECTED_CONFIG_VERSION', 26);
|
||||||
define('SCHEMA_VERSION', 126);
|
define('SCHEMA_VERSION', 127);
|
||||||
|
|
||||||
define('LABEL_BASE_INDEX', -1024);
|
define('LABEL_BASE_INDEX', -1024);
|
||||||
define('PLUGIN_FEED_BASE_INDEX', -128);
|
define('PLUGIN_FEED_BASE_INDEX', -128);
|
||||||
|
|
|
@ -133,9 +133,7 @@ create table ttrss_feeds (id integer not null auto_increment primary key,
|
||||||
view_settings varchar(250) not null default '',
|
view_settings varchar(250) not null default '',
|
||||||
pubsub_state integer not null default 0,
|
pubsub_state integer not null default 0,
|
||||||
favicon_last_checked datetime default null,
|
favicon_last_checked datetime default null,
|
||||||
index(owner_uid),
|
|
||||||
foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE,
|
foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE,
|
||||||
index(cat_id),
|
|
||||||
foreign key (cat_id) references ttrss_feed_categories(id) ON DELETE SET NULL,
|
foreign key (cat_id) references ttrss_feed_categories(id) ON DELETE SET NULL,
|
||||||
index(parent_feed),
|
index(parent_feed),
|
||||||
foreign key (parent_feed) references ttrss_feeds(id) ON DELETE SET NULL) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
foreign key (parent_feed) references ttrss_feeds(id) ON DELETE SET NULL) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
||||||
|
@ -167,7 +165,6 @@ create table ttrss_entries (id integer not null primary key auto_increment,
|
||||||
author varchar(250) not null default '') ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
author varchar(250) not null default '') ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
||||||
|
|
||||||
create index ttrss_entries_date_entered_index on ttrss_entries(date_entered);
|
create index ttrss_entries_date_entered_index on ttrss_entries(date_entered);
|
||||||
create index ttrss_entries_guid_index on ttrss_entries(guid);
|
|
||||||
create index ttrss_entries_updated_idx on ttrss_entries(updated);
|
create index ttrss_entries_updated_idx on ttrss_entries(updated);
|
||||||
|
|
||||||
create table ttrss_user_entries (
|
create table ttrss_user_entries (
|
||||||
|
@ -187,13 +184,10 @@ create table ttrss_user_entries (
|
||||||
last_marked datetime,
|
last_marked datetime,
|
||||||
last_published datetime,
|
last_published datetime,
|
||||||
unread bool not null default 1,
|
unread bool not null default 1,
|
||||||
index (ref_id),
|
|
||||||
foreign key (ref_id) references ttrss_entries(id) ON DELETE CASCADE,
|
foreign key (ref_id) references ttrss_entries(id) ON DELETE CASCADE,
|
||||||
index (feed_id),
|
|
||||||
foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE,
|
foreign key (feed_id) references ttrss_feeds(id) ON DELETE CASCADE,
|
||||||
index (orig_feed_id),
|
index (orig_feed_id),
|
||||||
foreign key (orig_feed_id) references ttrss_archived_feeds(id) ON DELETE SET NULL,
|
foreign key (orig_feed_id) references ttrss_archived_feeds(id) ON DELETE SET NULL,
|
||||||
index (owner_uid),
|
|
||||||
foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
||||||
|
|
||||||
create index ttrss_user_entries_owner_uid_index on ttrss_user_entries(owner_uid);
|
create index ttrss_user_entries_owner_uid_index on ttrss_user_entries(owner_uid);
|
||||||
|
@ -301,7 +295,7 @@ create table ttrss_tags (id integer primary key auto_increment,
|
||||||
|
|
||||||
create table ttrss_version (schema_version int not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
create table ttrss_version (schema_version int not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
||||||
|
|
||||||
insert into ttrss_version values (126);
|
insert into ttrss_version values (127);
|
||||||
|
|
||||||
create table ttrss_enclosures (id integer primary key auto_increment,
|
create table ttrss_enclosures (id integer primary key auto_increment,
|
||||||
content_url text not null,
|
content_url text not null,
|
||||||
|
@ -311,7 +305,6 @@ create table ttrss_enclosures (id integer primary key auto_increment,
|
||||||
duration text not null,
|
duration text not null,
|
||||||
width integer not null default 0,
|
width integer not null default 0,
|
||||||
height integer not null default 0,
|
height integer not null default 0,
|
||||||
index (post_id),
|
|
||||||
foreign key (post_id) references ttrss_entries(id) ON DELETE cascade) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
foreign key (post_id) references ttrss_entries(id) ON DELETE cascade) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
||||||
|
|
||||||
create index ttrss_enclosures_post_id_idx on ttrss_enclosures(post_id);
|
create index ttrss_enclosures_post_id_idx on ttrss_enclosures(post_id);
|
||||||
|
@ -347,8 +340,6 @@ create table ttrss_prefs (pref_name varchar(250) not null primary key,
|
||||||
index(section_id),
|
index(section_id),
|
||||||
foreign key (section_id) references ttrss_prefs_sections(id)) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
foreign key (section_id) references ttrss_prefs_sections(id)) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
||||||
|
|
||||||
create index ttrss_prefs_pref_name_idx on ttrss_prefs(pref_name);
|
|
||||||
|
|
||||||
insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('PURGE_OLD_DAYS', 3, '60', 1);
|
insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('PURGE_OLD_DAYS', 3, '60', 1);
|
||||||
insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DEFAULT_UPDATE_INTERVAL', 3, '30', 1);
|
insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DEFAULT_UPDATE_INTERVAL', 3, '30', 1);
|
||||||
insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DEFAULT_ARTICLE_LIMIT', 3, '30', 2);
|
insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DEFAULT_ARTICLE_LIMIT', 3, '30', 2);
|
||||||
|
@ -418,18 +409,15 @@ create table ttrss_user_prefs (
|
||||||
profile integer,
|
profile integer,
|
||||||
index (profile),
|
index (profile),
|
||||||
foreign key (profile) references ttrss_settings_profiles(id) ON DELETE CASCADE,
|
foreign key (profile) references ttrss_settings_profiles(id) ON DELETE CASCADE,
|
||||||
index (owner_uid),
|
|
||||||
foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE,
|
foreign key (owner_uid) references ttrss_users(id) ON DELETE CASCADE,
|
||||||
index (pref_name),
|
|
||||||
foreign key (pref_name) references ttrss_prefs(pref_name) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
foreign key (pref_name) references ttrss_prefs(pref_name) ON DELETE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
||||||
|
|
||||||
create index ttrss_user_prefs_owner_uid_index on ttrss_user_prefs(owner_uid);
|
create index ttrss_user_prefs_owner_uid_index on ttrss_user_prefs(owner_uid);
|
||||||
create index ttrss_user_prefs_pref_name_idx on ttrss_user_prefs(pref_name);
|
create index ttrss_user_prefs_pref_name_idx on ttrss_user_prefs(pref_name);
|
||||||
|
|
||||||
create table ttrss_sessions (id varchar(250) unique not null primary key,
|
create table ttrss_sessions (id varchar(250) not null primary key,
|
||||||
data text,
|
data text,
|
||||||
expire integer not null,
|
expire integer not null,
|
||||||
index (id),
|
|
||||||
index (expire)) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
index (expire)) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
|
||||||
|
|
||||||
create table ttrss_feedbrowser_cache (
|
create table ttrss_feedbrowser_cache (
|
||||||
|
|
|
@ -148,7 +148,6 @@ create table ttrss_entries (id serial not null primary key,
|
||||||
lang varchar(2),
|
lang varchar(2),
|
||||||
author varchar(250) not null default '');
|
author varchar(250) not null default '');
|
||||||
|
|
||||||
create index ttrss_entries_guid_index on ttrss_entries(guid);
|
|
||||||
-- create index ttrss_entries_title_index on ttrss_entries(title);
|
-- create index ttrss_entries_title_index on ttrss_entries(title);
|
||||||
create index ttrss_entries_date_entered_index on ttrss_entries(date_entered);
|
create index ttrss_entries_date_entered_index on ttrss_entries(date_entered);
|
||||||
create index ttrss_entries_updated_idx on ttrss_entries(updated);
|
create index ttrss_entries_updated_idx on ttrss_entries(updated);
|
||||||
|
@ -261,7 +260,7 @@ create index ttrss_tags_post_int_id_idx on ttrss_tags(post_int_id);
|
||||||
|
|
||||||
create table ttrss_version (schema_version int not null);
|
create table ttrss_version (schema_version int not null);
|
||||||
|
|
||||||
insert into ttrss_version values (126);
|
insert into ttrss_version values (127);
|
||||||
|
|
||||||
create table ttrss_enclosures (id serial not null primary key,
|
create table ttrss_enclosures (id serial not null primary key,
|
||||||
content_url text not null,
|
content_url text not null,
|
||||||
|
@ -300,8 +299,6 @@ create table ttrss_prefs (pref_name varchar(250) not null primary key,
|
||||||
access_level integer not null default 0,
|
access_level integer not null default 0,
|
||||||
def_value text not null);
|
def_value text not null);
|
||||||
|
|
||||||
create index ttrss_prefs_pref_name_idx on ttrss_prefs(pref_name);
|
|
||||||
|
|
||||||
insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('PURGE_OLD_DAYS', 3, '60', 1);
|
insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('PURGE_OLD_DAYS', 3, '60', 1);
|
||||||
insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DEFAULT_UPDATE_INTERVAL', 3, '30', 1);
|
insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DEFAULT_UPDATE_INTERVAL', 3, '30', 1);
|
||||||
insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DEFAULT_ARTICLE_LIMIT', 3, '30', 2);
|
insert into ttrss_prefs (pref_name,type_id,def_value,section_id) values('DEFAULT_ARTICLE_LIMIT', 3, '30', 2);
|
||||||
|
@ -374,7 +371,7 @@ create index ttrss_user_prefs_owner_uid_index on ttrss_user_prefs(owner_uid);
|
||||||
create index ttrss_user_prefs_pref_name_idx on ttrss_user_prefs(pref_name);
|
create index ttrss_user_prefs_pref_name_idx on ttrss_user_prefs(pref_name);
|
||||||
-- create index ttrss_user_prefs_value_index on ttrss_user_prefs(value);
|
-- create index ttrss_user_prefs_value_index on ttrss_user_prefs(value);
|
||||||
|
|
||||||
create table ttrss_sessions (id varchar(250) unique not null primary key,
|
create table ttrss_sessions (id varchar(250) not null primary key,
|
||||||
data text,
|
data text,
|
||||||
expire integer not null);
|
expire integer not null);
|
||||||
|
|
||||||
|
|
18
schema/versions/mysql/127.sql
Normal file
18
schema/versions/mysql/127.sql
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
ALTER TABLE ttrss_enclosures DROP INDEX post_id;
|
||||||
|
ALTER TABLE ttrss_entries DROP INDEX ttrss_entries_guid_index;
|
||||||
|
ALTER TABLE ttrss_feeds DROP INDEX owner_uid;
|
||||||
|
ALTER TABLE ttrss_feeds DROP INDEX cat_id;
|
||||||
|
ALTER TABLE ttrss_prefs DROP INDEX ttrss_prefs_pref_name_idx;
|
||||||
|
ALTER TABLE ttrss_sessions DROP INDEX id_2;
|
||||||
|
ALTER TABLE ttrss_sessions DROP INDEX id;
|
||||||
|
ALTER TABLE ttrss_user_entries DROP INDEX ref_id;
|
||||||
|
ALTER TABLE ttrss_user_entries DROP INDEX owner_uid;
|
||||||
|
ALTER TABLE ttrss_user_entries DROP INDEX feed_id;
|
||||||
|
ALTER TABLE ttrss_user_prefs DROP INDEX pref_name;
|
||||||
|
ALTER TABLE ttrss_user_prefs DROP INDEX owner_uid;
|
||||||
|
|
||||||
|
UPDATE ttrss_version SET schema_version = 127;
|
||||||
|
|
||||||
|
COMMIT;
|
8
schema/versions/pgsql/127.sql
Normal file
8
schema/versions/pgsql/127.sql
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
BEGIN;
|
||||||
|
|
||||||
|
DROP INDEX ttrss_entries_guid_index;
|
||||||
|
DROP INDEX ttrss_prefs_pref_name_idx;
|
||||||
|
|
||||||
|
UPDATE ttrss_version SET schema_version = 127;
|
||||||
|
|
||||||
|
COMMIT;
|
Loading…
Reference in a new issue