Je travaille actuellement sur un jeu, et j'ai commencé à charger et à sauvegarder.MySQL - Sauvegarde et chargement
Je pensais, mais je ne peux vraiment pas décider, car je ne suis pas sûr de ce qui serait le plus efficace.
Ma première option: Lorsqu'un utilisateur s'enregistre, seul l'enregistrement est inséré (dans le tableau des 'caractères'). Lorsque l'utilisateur essaie de se connecter, et après qu'il l'a fait avec succès, le serveur essaiera de charger toutes les informations de l'utilisateur (qui est séparé entre plusieurs tables, et se combine via mysql 'LEFT JOIN'), il fonctionnera bien Toutes les informations dont il dispose et les appliquent à l'instance d'entité, s'il s'exécute en NULL (ce qui signifie que les informations ne sont pas encore dans la base de données), il utilisera automatiquement une valeur par défaut. Lors de la sauvegarde, il va insérer ou mettre à jour, de sorte que tous les défauts qui ont été générés lors du chargement seront enregistrés maintenant.
Ma deuxième option: Insérez simplement toutes les lignes requises lors de l'inscription (les lignes sont insérées à partir du site Web lorsque l'inscription est terminée).
Les inconvénients de la première option: vérifications inutiles si l'utilisateur s'est déjà connecté une fois, puisque toutes les tables seront générées après la première connexion. Upsides à la première option: si des enregistrements de tables sont supprimés, les données par défaut seraient insérées au lieu de désactiver le lecteur, indiquant que les informations sur les caractères sont endommagées/perdues. Les inconvénients à la deuxième option: il pourrait perdre un peu de mémoire, puisque toutes les tables sont insérées à l'enregistrement, et il pourrait y avoir des robots de spam, et des gens qui ne parviennent même pas à se connecter.
Upsides à la première option: Nous n'avons rien à vérifier sur le serveur.
J'ai également noté que la première option peut bousiller tous les systèmes de recherche (via admincp, si nous essayons de chercher un utilisateur spécifique).
Pourriez-vous fournir des détails sur le type d'information dont vous parlez? Quelles sortes de données proviennent de ces autres tables? – ErikE