Question

J'ai un certain nombre d'utilisateurs dans une base de données (cela pourrait être 100, 2000, ou 3) ce que je fais utilise « show tables » mysql et stocker les noms de table dans un tableau, alors je suis en cours d'exécution d'un en boucle et en prenant chaque nom de la table (le nom de l'utilisateur) et l'insérer dans un code, alors je suis en dit morceau de code pour chaque nom de table. Avec 3 utilisateurs, ce script prend environ 20 secondes. Il utilise l'API de Twitter et fait quelques inserts de MySQL. Est-ce la façon la plus efficace de le faire ou non?

Était-ce utile?

La solution

Certainement pas!

Je ne comprends pas pourquoi vous stockez chaque utilisateur dans leur table. Vous devez créer une table de users et sélectionnez à partir de là.

Il se déroulera en 0.0001 secondes.

Mise à jour:

Une table comporte des rangées et des colonnes. Vous pouvez stocker plusieurs utilisateurs dans des lignes et des informations sur chaque utilisateur dans les colonnes.

S'il vous plaît essayer quelques tutoriels conception de base de données / livres, ils wil vous aider beaucoup.

Autres conseils

Si votre inquiétude sur le stockage des entrées multiples pour chaque utilisateur dans la même table des utilisateurs, vous pouvez avoir une table séparée pour les tweets avec le tweet_id se référant à l'utilisateur.

Je monterais certainement pour une table des utilisateurs.

Base de données sont optimisés pour le traitement de plusieurs lignes; quelques-unes des techniques utilisées sont des index, la disposition physique des données sur le disque et ainsi de suite. Les opérations sur les nombreuses tables seront toujours plus lent - ce qui est tout simplement pas ce SGBDR ont été construits pour le faire.

Il y a une exception près - parfois vous optimisez les bases de données par sharding (partitionnement des données), mais cette approche a autant d'avantages que d'inconvénients. L'un des inconvénients est que les requêtes comme celui que vous avez décrit prendre beaucoup de temps.

Vous devriez mettre tous vos utilisateurs dans une table, parce que, du point de vue logique -. Ils représentent une entité

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top