Просто если возможно придумать структуру агрегированных данных, то почему бы это не сделать и переписывать таблицу при редактировании данных в обычных таблицах триггером или вообще кроном... Но что бы придумать такие таблицы нужны конкретные условия работы поиска. Я тебе описываю абстрактно конечно, но ты один знаешь полностью постановку задачи.
Спустя 2 минуты 19 секунд добавил
можно не одну таблицу, а несколько... Можно писать несколько запросов, чем один с дополнительными четырьмя джоинами и смотреть что эффективнее...
Спустя 1 минуту 12 секунд добавил
у тебя же не бесконечное количество дополнительных людей, их может быть например не больше 5... я уже и сам спать хочу...