Optimizes search by avoiding usage of COALESCE for filtering searches
Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 53s
Automated Main Deploy Action / build-and-deploy-docs (push) Successful in 20s

This commit is contained in:
2025-11-03 07:21:30 -05:00
parent fae172d559
commit 438f1b691a
3 changed files with 10 additions and 5 deletions

View File

@@ -0,0 +1,4 @@
CREATE INDEX ON active_tag_mappings (tag_id) INCLUDE (record_id) WHERE ideal_tag_id IS NULL;
CREATE INDEX ON active_tag_mappings (ideal_tag_id) INCLUDE (record_id) WHERE ideal_tag_id IS NOT NULL;
CREATE INDEX ON active_tag_mappings_parents (tag_id) INCLUDE (record_id);

View File

@@ -0,0 +1 @@
DROP INDEX file_info_record_id_idx; -- Not needed because file_info_pkey exists

View File

@@ -28,14 +28,14 @@ std::string SearchBuilder::construct(
}
constexpr std::string_view domain_filter_template {
"filter_{0} AS (SELECT record_id FROM active_tag_mappings WHERE effective_tag_id = {1} AND tag_domain_id = "
"ANY($1) UNION DISTINCT SELECT record_id FROM active_tag_mappings_parents WHERE tag_id = {1} AND tag_domain_id "
"= ANY($1))"
"filter_{0} AS ( SELECT DISTINCT record_id FROM active_tag_mappings WHERE tag_id = {1} AND ideal_tag_id IS NULL AND tag_domain_id = ANY($1) UNION DISTINCT SELECT DISTINCT record_id FROM active_tag_mappings WHERE ideal_tag_id = {1} AND tag_domain_id = ANY($1) UNION DISTINCT SELECT DISTINCT record_id FROM active_tag_mappings_parents WHERE tag_id = {1} AND tag_domain_id = ANY($1) )"
// "filter_{0} AS (SELECT record_id FROM active_tag_mappings WHERE ideal_tag_id IS NULL AND tag_id = {1} AND tag_domain_id = "
// "ANY($1) UNION DISTINCT SELECT record_id FROM active_tag_mappings_parents WHERE tag_id = {1} AND tag_domain_id "
// "= ANY($1))"
};
constexpr std::string_view domainless_filter_template {
"filter_{0} AS (SELECT record_id FROM active_tag_mappings WHERE effective_tag_id = {1} UNION DISTINCT SELECT "
"record_id FROM active_tag_mappings_parents WHERE tag_id = {1})"
"filter_{0} AS ( SELECT DISTINCT record_id FROM active_tag_mappings WHERE tag_id = {1} AND ideal_tag_id IS NULL UNION DISTINCT SELECT DISTINCT record_id FROM active_tag_mappings WHERE ideal_tag_id = {1} UNION DISTINCT SELECT DISTINCT record_id FROM active_tag_mappings_parents WHERE tag_id = {1} )"
};
m_bind_domains = filter_domains;