Oui, extraire des informations d'une variable de session est plus efficace que d'interroger une base de données pour obtenir ces informations. Cependant, le chargement des informations INTO les variables de session nécessitent la lecture d'un fichier hors du système de fichiers de vos serveurs et dans la RAM, ce qui, en fonction de nombreux facteurs (vitesse du disque, charge des E/S, vitesse de la base de données, etc.), peut être plus lent ou plus rapide que la lecture des mêmes informations à partir d'une base de données. Sans informations sur votre configuration spécifique, il est difficile de dire. Une chose à garder à l'esprit, si vous envisagez de développer et d'utiliser plus d'un serveur Web, vous devrez écrire des gestionnaires de session personnalisés pour stocker vos sessions sur un serveur central (éventuellement une base de données), Memcache ou un montage partagé. point où tous vos serveurs Web peuvent aller chercher les fichiers de session.
En fin de compte, mettre quelque chose dans la session et l'utiliser à partir de là peut être plus efficace que de le charger à chaque fois depuis la base de données, mais vous le chargez toujours depuis quelque part, et ainsi, la connaissance de votre matériel et de votre configuration sera votre meilleur guide.