2009-06-15 4 views
2

Je construis une application PHP/MySQL où les utilisateurs peuvent se connecter et rechercher des ressources multimédia. Ils peuvent également enregistrer des recherches et créer des lightbox (collections d'actifs). Enfin, ils peuvent créer des groupes d'utilisateurs.Interroger tous à la fois et enregistrer à la session, ou plusieurs fois?

Est-il plus sensé d'interroger tous à la fois, à la connexion, les identifiants de leurs recherches, de leurs visionneuses et de leurs groupes sauvegardés, et de les enregistrer dans les variables de session? Ou pour effectuer les requêtes quand ils ont d'abord frappé les pages appropriées? Je suis à la recherche d'efficacité, et les séances semblent être la bonne solution, mais est-ce que je néglige quelque chose?

Répondre

5

Biggest Règle: seulement mis à la session ce dont vous avez besoin dans la session

Je ne pense pas qu'il serait sage du tout de mettre tout ce que vous avez besoin dans la session à la fois parce que vous aurez avoir beaucoup d'occurrences où ce n'est pas nécessaire. L'utilisateur peut ne pas rester assez longtemps pour utiliser toutes les données qu'il contient, vous perdez donc du temps et des ressources.

Mettez votre information là-bas sur demande (quand ils vont à chaque page qui nécessite cette information).

Gardez toujours votre objet de session net et mince et votre performance vous en sera reconnaissante.

+0

Heureux j'ai demandé! Merci d'avoir répondu. – lynn

3

Toute requête de connexion est une mauvaise idée. D'abord, il ralentit l'ouverture de session et ensuite il crée une charge de travail statique sur votre serveur SQL pour chaque connexion.

Si vous interrogez le cas échéant, vous avez une charge variée. (même si vous mettez en cache les résultats à utiliser plus tard)

Si vous stockez des résultats dans des sessions, vous augmentez également la mémoire utilisée pour chaque requête pour cet utilisateur.

Il y a beaucoup de choses qui peuvent être bonnes pour votre site particulier mais nous avons besoin de plus de données pour pouvoir y répondre mieux.

0

Interrogez uniquement ce dont vous avez besoin et quand il est nécessaire.

court exemple qui prouve que tous dans une requête est faux:

Si vous interrogez les données de connexion et de l'utilisateur et la connexion va mal, le reste de la requête ne sera pas utilisé.

Questions connexes