db: add extra indexes for tag and media_tag
This commit is contained in:
parent
b01e4197e7
commit
b052526f4e
2 changed files with 15 additions and 7 deletions
|
@ -1,7 +1,11 @@
|
||||||
DROP VIEW IF EXISTS tagged_media_view;
|
DROP VIEW tagged_media_view;
|
||||||
DROP VIEW IF EXISTS tag_count_view;
|
DROP VIEW tag_count_view;
|
||||||
DROP TABLE IF EXISTS media_tag;
|
DROP INDEX media_tag_tag_id_idx;
|
||||||
DROP INDEX IF EXISTS tag_display_idx;
|
DROP INDEX media_tag_media_id_idx;
|
||||||
DROP TABLE IF EXISTS tag;
|
DROP TABLE media_tag;
|
||||||
DROP TABLE IF EXISTS kind;
|
DROP INDEX tag_display_idx;
|
||||||
DROP TABLE IF EXISTS media;
|
DROP INDEX tag_name_kind_id_idx;
|
||||||
|
DROP INDEX tag_name_idx;
|
||||||
|
DROP TABLE tag;
|
||||||
|
DROP TABLE kind;
|
||||||
|
DROP TABLE media;
|
||||||
|
|
|
@ -20,6 +20,8 @@ CREATE TABLE tag(
|
||||||
display TEXT (289) AS (concat_ws(':', kind_id, name)) STORED,
|
display TEXT (289) AS (concat_ws(':', kind_id, name)) STORED,
|
||||||
UNIQUE (name, kind_id)
|
UNIQUE (name, kind_id)
|
||||||
);
|
);
|
||||||
|
CREATE INDEX tag_name_idx ON tag(name);
|
||||||
|
CREATE UNIQUE INDEX tag_name_kind_id_idx ON tag(name, kind_id);
|
||||||
CREATE UNIQUE INDEX tag_display_idx ON tag(display);
|
CREATE UNIQUE INDEX tag_display_idx ON tag(display);
|
||||||
|
|
||||||
CREATE TABLE media_tag(
|
CREATE TABLE media_tag(
|
||||||
|
@ -29,6 +31,8 @@ CREATE TABLE media_tag(
|
||||||
FOREIGN KEY (tag_id) REFERENCES tag(id) ON DELETE CASCADE,
|
FOREIGN KEY (tag_id) REFERENCES tag(id) ON DELETE CASCADE,
|
||||||
PRIMARY KEY (media_id, tag_id)
|
PRIMARY KEY (media_id, tag_id)
|
||||||
);
|
);
|
||||||
|
CREATE INDEX media_tag_media_id_idx ON media_tag(media_id);
|
||||||
|
CREATE INDEX media_tag_tag_id_idx ON media_tag(tag_id);
|
||||||
|
|
||||||
CREATE VIEW tag_count_view AS SELECT
|
CREATE VIEW tag_count_view AS SELECT
|
||||||
tag.id AS id,
|
tag.id AS id,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue