2013-01-22 4 views
1

Je construis un site de réseau social à des fins éducatives et je me demandais comment compter efficacement les "tweets" d'un utilisateur (si par exemple sur la table des tweets il a 100k entrées). Dois-je le faire via SQL Count() ou devrais-je ajouter un champ "no of tweets" par utilisateur pour le récupérer facilement et le mettre à jour lorsque l'utilisateur ajoute/supprime un tweet? Ou s'il y a une meilleure approche à ce sujet, j'apprécierais profondément votre contribution.Comptage des valeurs fréquemment modifiées sur la base de données

Que diriez-vous du cas de compter le no total. des caractères de ces "tweets"? SUM (CHAR_LENGTH (arg)) est-il efficace? Ou mettre en cache une valeur mise à jour mieux?

Disons que ces valeurs (pas. De tweets et non. De caractères pour tous les tweets) sont toujours appelé parce qu'ils sont affichés publiquement sur leurs profils et en moyenne, ces chiffres sont s'appellent une fois par seconde et leurs valeurs changent toutes les 30 secondes. Je suis juste en train d'expérimenter sur des algorithmes impliquant de grandes données, donc un grand merci si vous pouvez aider!

Une autre chose, est PHP & MariaDB fit pour ce genre de processus? Ou autre pile sont mieux?

Répondre

0

Utilisez d'abord les requêtes de comptage. Il sera probablement assez efficace compte tenu de la quantité d'entrées de données (100K). Ce sera également beaucoup moins de travail et de maintenance. 100K est un très petit nombre quand il s'agit de la taille de la base de données. Quand vous arrivez à des centaines de millions ou des milliards ou plus, les choses deviennent un peu intéressantes.

La principale considération pour les performances de base de données est la base de données et oui MariaDB ou MySql est très bien. Ce que vous utilisez pour le langage de programmation est une question plus vaste. Php fonctionnera bien.

Questions connexes