Je développe un site web qui permet aux utilisateurs de lire des articles. Je souhaite implémenter des fonctionnalités qui permettent de marquer automatiquement les articles lus lorsqu'ils sont consultés par un utilisateur. Le problème est que je ne sais pas comment stocker les données de lecture d'article dans db. Il pourrait y avoir des centaines de milliers d'articles et plusieurs milliers d'utilisateurs. Le stockage de la ligne pour chaque article/utilisateur dans la table de jointure "Lire les articles" semble être inefficace. Quelles sont les autres options?Quelle est la meilleure façon de stocker des articles en lecture dans sql db?
Répondre
Il pourrait y avoir des centaines de milliers d'articles et plusieurs milliers d'utilisateurs. Le stockage de la ligne pour chaque article/utilisateur dans la table de jointure "Lire les articles" semble être inefficace.
Le schéma qui stocke une ligne par paire {user, article}
est correct. L'implication d'avoir beaucoup de lignes rend ce système inefficace est incorrect: les bases de données modernes sont optimisées pour gérer beaucoup de lignes très efficacement. En outre, l'implication de "traduire des centaines de milliers d'articles et plusieurs milliers d'utilisateurs" en plusieurs lignes est également incorrecte: vous stockerez une ligne par article que l'utilisateur lit, pas pour chaque article, le nombre de lignes que vous obtenez serait donc inférieur de plusieurs ordres de grandeur à l'estimation du pire des cas.
En fonction de votre stratégie:
Si vous stockez des articles uniques pour chaque utilisateur (fonctionnalité me lire plus tard), vous pouvez stocker l'état de l'article.
Si vous avez un ensemble d'articles qui peuvent être lus par n'importe quel utilisateur, alors vous le faites correctement en introduisant une table supplémentaire pour stocker les états de lecture. Je ne vois rien de mal dans cette approche.
- 1. Quelle est la meilleure façon de stocker l'historique des modifications des articles de site Web?
- 2. La meilleure façon de stocker des traductions dans MySQL DB
- 3. Quelqu'un peut dire quelle est la meilleure façon de stocker des images en SQL
- 4. Quelle est la meilleure façon de stocker la date?
- 5. Quelle est la meilleure façon de stocker des données d'historique dans SQL Server 2005/2008?
- 6. La meilleure façon de stocker des articles dans une base de données? (php et sql)
- 7. Quelle est la meilleure façon de stocker cette information?
- 8. quelle est la meilleure façon d'éviter l'injection sql dans mysql
- 9. Quelle est la meilleure façon de stocker une liste de messages/arbre fileté dans SQL?
- 10. Quelle est la meilleure façon de stocker des formes dans une base de données
- 11. quelle est la meilleure façon d'analyser un énorme fichier sql
- 12. Quelle est la meilleure façon de stocker des caractères spéciaux dans la base de données?
- 13. Quelle est la meilleure façon de stocker des variables de classe en PHP?
- 14. Quelle est la meilleure ou la meilleure façon de télécharger une image dans db dans asp.net mvc?
- 15. Quelle est la meilleure façon de stocker rapidement des données en Python?
- 16. La meilleure façon de stocker des données en toute sécurité?
- 17. Quelle est la meilleure façon de stocker l'heure dans DynamoDB lorsque la précision est importante?
- 18. SQL Server 2008 - Exigence de surveillance DB, quelle est la meilleure façon de le faire
- 19. Quelle est la meilleure façon de créer plusieurs tables SQL?
- 20. La meilleure façon de stocker ces données dans SQL Table
- 21. Quelle est la meilleure façon de stocker des données html dans une base de données mysql?
- 22. Quelle est la meilleure façon de stocker (éventuellement des centaines) de chaînes dans l'application iPhone?
- 23. Quelle est la meilleure façon de stocker des informations utilisateur temporaires dans asp.net?
- 24. Quelle est la meilleure façon de stocker des données dans VSTO addin?
- 25. Quelle est la meilleure façon de stocker des données telles que «Favoris» sur une application Android?
- 26. Quelle est la meilleure façon de stocker des chaînes regex dans Haskell?
- 27. Quelle est la meilleure façon de stocker des fichiers dans une application web (asp.net + wcf)
- 28. Quelle est la meilleure façon de stocker des données centralisées pour (et de) la traduction?
- 29. Dans une application Web, quelle est la meilleure façon de stocker des données utilisateur personnalisées?
- 30. Quelle est la meilleure façon de stocker les données d'historique des stocks
Non, c'est la bonne façon. – eggyal
Vous le faites déjà correctement. – ajtrichards
Ne pas sous-estimer la puissance d'une base de données :-) – Bart