Avoir une tâche pour faire des votes pour la photo. Parce que les utilisateurs ne peuvent voter qu'une fois pour la photo, je devrais les enregistrer. Je prévois de ne pas créer de table séparée pour enregistrer les identifiants d'utilisateur, mais de les enregistrer dans la table de photo dans le champ blob en les séparant par n'importe quel délimiteur. Que pensez-vous d'une telle pratique? Y a-t-il des problèmes cachés? Je vois avec une telle structure, je vais réduire le nombre de requêtes et de jointures.Déplacez les données de la table vers un autre champ de la table.
Répondre
Je pense que le problème que vous pouvez rencontrer est celui de l'évolutivité. Si ce site de vote photo devient très populaire, ces blobs deviendront assez volumineux, et placeront une charge plus importante sur votre langage de traitement côté serveur (php, asp, etc.).
Mes règles générales - les bases de données sont conçues par des programmeurs, beaucoup mieux que moi, pour faire une chose et faire une chose bien gérer les données. Votre traitement des données ne sera probablement pas aussi efficace que ce que la base de données peut faire. En d'autres termes, utilisez une jointure au lieu de la post-traiter vous-même.
Ne faites pas cela. Ce que vous essayez n'est pas rare, mais c'est presque toujours mal conseillé. Faire une autre table pour stocker les votes par photo par utilisateur. Vous opérez sous l'hypothèse (fausse) que la réduction de vos jointures et le stockage de ces données dans un champ blob entraînera un avantage de performance par rapport au stockage des votes dans une table, et c'est très (très) peu probable.
Quelques réflexions:
- En faisant cela, vous allez être nécessaire pour ramener chaque vote pour une photo donnée si vous voulez examiner tout des voix.
- Ceci est une recette pour corruption. Le stockage des ID utilisateur dans ce champ annule la possibilité de conserver une clé étrangère sur les votes. En d'autres termes, si un enregistrement d'utilisateur est modifié ou supprimé, il n'y a aucun moyen de mettre à jour les enregistrements de vote.
Un champ BLOB avec un délimiteur est l'une des pires façons absolues de stocker les données. Stockez-le correctement dans une table enfant avec une clé étrangère et un index sur la clé étrangère.
- 1. copie un champ de la table à un autre champ dans la même table
- 2. mysql :: insérer dans la table, les données d'une autre table?
- 3. Remplacer les données de la table MySQL par les données d'une autre table
- 4. Copie de données de table MySQL dans une autre table
- 5. Comment copier un champ de modification d'une table dans un nouveau champ dans la même table?
- 6. Transférer les données d'erreur vers une autre table
- 7. Table SQL vers une autre base de données
- 8. La table de la base de données contient les URLs
- 9. MySql copie des données de profilage vers la table
- 10. Comment Copier des lignes d'une table vers une autre table?
- 11. Copie de lignes non existantes d'une table de base de données vers une autre table de base de données?
- 12. changer un champ dans la table mysql?
- 13. champ Peuplement de la table d'énumération
- 14. Type de table MySql, comment dessiner automatiquement les données d'une table d'une table à une autre?
- 15. Champ d'affichage d'une autre table dans SQL
- 16. Remplacer la table d'une base de données par une autre
- 17. Copie de données d'un champ de base de données vers un autre champ de base de données
- 18. Transfert de données vers une autre table après la sauvegarde avec NHibernate
- 19. Comment supprimer un champ de la table SQLServer2005
- 20. obtenir seulement certaines données de la table
- 21. Créer Table Autre Changer table
- 22. Compare la valeur de la base de données au nombre de lignes dans une autre table
- 23. MySQL: Copier un champ à une autre table
- 24. C# ensemble de données vers la table SQL Server d'où provient la source de données CSV
- 25. lire les données de la vue de la table
- 26. Jointure SQL pour saisir les données de la même table via la table intermédiaire
- 27. Comment insérer un champ de données dans une table vide
- 28. Comment copier les données chargées dans la table cible de la table source vers le fichier texte?
- 29. Importer des données de table vers une autre base de données dans un autre ordinateur du serveur SQL 2005
- 30. Création d'une nouvelle table sql, où l'un des champs copie les données d'un autre champ de table