2013-05-26 5 views
-1

Je construis une base de données pour mon forum. Une de mes tables contient toutes les informations utilisateur (nom d'utilisateur, âge, sexe, etc.). Il contient 26 colonnes, dont plusieurs LONGTEXT comme le "About Me". Ma question, pour la performance et la vitesse lors de l'utilisation des requêtes MySQL, serait-il mieux de créer deux tables distinctes pour l'utilisateur: une avec des informations importantes (nom d'utilisateur, mot de passe) et une seconde avec des informations moins importantes âge, sexe, etc.)?Des tables séparées pour l'utilisateur?

Merci!

+4

Vous savez, il existe des dizaines de logiciels de forum déjà écrits. Pourquoi écrire le vôtre, et probablement vous tromper, quand vous pouvez en utiliser un qui fonctionne réellement et qui est supporté par des gens qui ne posent pas de questions simples comme celle-ci sur SO? – siride

+1

vous pouvez le faire aussi longtemps que vous utilisez correctement les index pour les colonnes couramment lues et écrire des instructions SQL efficaces pour extraire des données – Sanath

+1

@Sanath: Merci. Je comprends que je peux le faire, je me demandais juste si cela serait bénéfique pour la performance de quelque façon que ce soit. – Tom

Répondre

1

Si vous ramenez les données un utilisateur à la fois, il est probablement préférable de conserver les données dans la même table. Je ne ferais que casser si vous alliez retirer plusieurs utilisateurs (et beaucoup d'entre eux), y compris le LONGTEXT, ou si vous vous retrouvez avec beaucoup de la même chose appartenant à l'utilisateur tels que les adresses, etc

Questions connexes