Я создаю приложение, в котором
a) каждый библиотекарь может создать кампанию
b) действия, выполняемые в рамках этой кампании, отслеживаются в campaign_actions
, действия - загрузка страницы
Чтобы сообщить о количестве действий, выполненных в каждой кампании, я написал этот SQL-запрос (для MySQL) для следующей структуры базы данных с целью отслеживания количества действийпроводимый библиотекарем для каждой кампании:
LIBRARIANS
id | status
CAMPAIGNS
id | librarian_id
CAMPAIGN_ACTIONS
id | campaign_id | name
Проблемы, с которыми я сталкиваюсь:
a) Я должен указать поля, которые я хочу подсчитать, в соответствующих подвыборах
b) В результате запрос будет довольно дорогим
У меня такой вопрос, поскольку для кампании существует несколько действий, как мне эффективно считать количество действий на * 1020?* более эффективная кампания?
Менее сложные запросы равносильны возврату набора результатов, например:
librarians.id | librarians.status | campaign_actions.name
1 3 pageX
1 3 pageY
1 3 pageZ
1 3 pageA
1 3 pageB
2 3 pageX
, что означает, что мне придется анализировать набор результатов в приложениикод за строкой, которая, вероятно, будет больше дорогой.
Я ценю любые ваши мысли по поводу этой проблемы.