Запрашивать все при входе в систему - плохая идея. Во-первых, это замедляет вход в систему, а во-вторых, создает статическую нагрузку на ваш сервер SQL для каждого входа в систему.
Если вы запрашиваете, когда это применимо, у вас различная нагрузка. (даже если вы кешируете результаты для последующего использования)
Также, если вы сохраняете результаты в сеансах, то вы увеличиваете объем памяти, используемый для каждого запроса этого пользователя.
Есть много вещей, которые могут быть полезны для вашего конкретного сайта, но нам нужно больше данных, чтобы ответить на этот вопрос лучше.