Я пытаюсь улучшить производительность в сильно нормализованной базе данных, в которой у меня есть следующая структура.
entity (identity)
org (identity)
entity-org relation (many to many)
org-entity-owner-relation (many to many + column-informed state)
vuln (identity)
entity-vuln (identity-identity relation 1)
Моя проблема связана с трехсторонними отношениями идентичности, в которых отношения между пересечением отношения сущность- отношение становятся подзапросом отношения между несвязанными отношениями организация-отношение.
Если существует пересечение между сущностью и vuln, и существует связь между сущностью и org, то мне нужно иметь возможность показать список и количество отношений org-entity-vuln и org-vuln-entity. Моя проблема с сортировкой и переиндексацией.
Есть ли способ эффективно использовать базу данных для этого, или я должен выполнять свои операции над множествами локально в коде?