Чтобы быть эффективным и экономически эффективным, я предлагаю вам создать 2 глобальных вторичных индекса (GSI). PK будет "deviceType" и "networkType". Для СК и у меня недостаточно информации, чтобы что-то предлагать. Следовательно, нет необходимости проецировать все атрибуты, потому что вы хотите получить только sessionId, который проецируется по умолчанию, потому что это PK.
Для суммирования модели данных:
PK Attributes
Table: sessionId deviceType, networkType, ...
GSI_1: deviceType sessionId, networkType, ...
GSI_2: networkType sessionId, deviceType, ...
Например, при запросе GSI_1 вы будете использовать PK = "Mobile", например, для получения всех связанных sessionId.
Этот способ действительно быстрый и экономически эффективный, как и сканирование.