Группировка общих объектов - PullRequest
0 голосов
/ 30 октября 2019

У меня есть типы сущностей A и B, которые имеют отношение многие ко многим в моей БД. Я хочу вызвать событие при изменении членов любых групп объекта B с общим набором или связями с типом объекта As. например, у нас есть A (1) A (2) A (3) и B (1) B (2) B (3) `если мы вставим следующие соотношения

A(1)->B(1)
A(1)->B(2)
A(1)->B(3)

A(2)->B(1)
A(2)->B(2)

, у нас есть 2 группы,G (1) = B (1) и B (2) оба имеют общее множество отношений к A (1) И A (2), G (2) = B (3) вторая группа, содержащая только отношения к A (1) и ничего больше

, если мы добавим

A(3)->B(2)
A(3)->B(3)

, теперь у нас есть три группы, каждая из которых содержит только один B, а G (2), созданная на начальной вставке, теперь пуста, новсе еще требуется событие

G(1)=B(1)
G(2)=<EMPTY<
G(3)=B(2)
G(4)=B(3)

Я хочу событие для каждой из этих четырех групп

В настоящее время я делаю это, хэшируя набор As, принадлежащий любому B, а затем группирую B на этомзначение

Я выполняю эти вставки в виде массивных блоков (по 100 000 для каждого со средним значением ab, превышающим 100 B), поэтому это достаточно эффективно, но код, конечно, ад. Я должен создать экземпляры групп как сущности в моей БД по мере их формирования и обеспечить, чтобы все затронутые группы получили событие.

Могут ли помочь БД графов?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...