perf(db): add revision and module query indexes
Индексы для diff/list префиксов и сортировки модулей; covering index для pagination. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
DROP INDEX IF EXISTS idx_rev_mat_prefix_uniq;
|
||||
DROP INDEX IF EXISTS idx_rev_mat_prefix_rev_cover;
|
||||
CREATE INDEX IF NOT EXISTS idx_rev_mat_prefix_rev_id
|
||||
ON revision_materialized_prefix (revision_id, id);
|
||||
DROP INDEX IF EXISTS idx_module_tenant_active_sort;
|
||||
DROP INDEX IF EXISTS idx_rev_mat_prefix_rev_prefix;
|
||||
@@ -0,0 +1,17 @@
|
||||
-- Query indexes: revision diff/list and module sort (H4 + M4).
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_rev_mat_prefix_rev_prefix
|
||||
ON revision_materialized_prefix (revision_id, prefix);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_module_tenant_active_sort
|
||||
ON module (tenant_id, priority, name)
|
||||
WHERE deleted_at IS NULL;
|
||||
|
||||
-- Covering index for prefix list pagination (PostgreSQL 11+ INCLUDE).
|
||||
DROP INDEX IF EXISTS idx_rev_mat_prefix_rev_id;
|
||||
CREATE INDEX IF NOT EXISTS idx_rev_mat_prefix_rev_cover
|
||||
ON revision_materialized_prefix (revision_id, id)
|
||||
INCLUDE (prefix, community_id, source);
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_rev_mat_prefix_uniq
|
||||
ON revision_materialized_prefix (revision_id, prefix, community_id, source);
|
||||
@@ -0,0 +1,3 @@
|
||||
DROP INDEX IF EXISTS idx_rev_mat_prefix_uniq;
|
||||
DROP INDEX IF EXISTS idx_module_tenant_active_sort;
|
||||
DROP INDEX IF EXISTS idx_rev_mat_prefix_rev_prefix;
|
||||
@@ -0,0 +1,9 @@
|
||||
CREATE INDEX IF NOT EXISTS idx_rev_mat_prefix_rev_prefix
|
||||
ON revision_materialized_prefix (revision_id, prefix);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS idx_module_tenant_active_sort
|
||||
ON module (tenant_id, priority, name)
|
||||
WHERE deleted_at IS NULL;
|
||||
|
||||
CREATE UNIQUE INDEX IF NOT EXISTS idx_rev_mat_prefix_uniq
|
||||
ON revision_materialized_prefix (revision_id, prefix, community_id, source);
|
||||
Reference in New Issue
Block a user