Да, извличането на информация от променлива на сесията е по-ефективно от запитването в база данни за тази информация. Информацията обаче се зарежда INTO променливите на сесията изискват четене на файл от файловата система на вашия сървър и в RAM, което в зависимост от много фактори (скорост на диска, IO натоварване, db скорост и т.н.) може да бъде по-бавно или по-бързо от четенето на същата информация от DB. Без информация за вашата конкретна настройка е трудно да се каже. Едно нещо, което трябва да имате предвид, ако планирате да разраствате и използвате повече от един уеб сървър, ще трябва да напишете някои персонализирани манипулатори на сесии, които да съхраняват вашите сесии на централен сървър (евентуално база данни), memcache или споделено монтиране точка, където всичките ви уеб сървъри могат да отидат, за да изтеглят файловете на сесията.
В крайна сметка поставянето на нещо в сесията и използването му от там може бъдете по-ефективни, отколкото да го зареждате от БД всеки път, но все пак го зареждате от някъде, и така познаването на вашия хардуер и настройката ви ще бъде най-доброто ви ръководство.