Salut, je suis un débutant dans le développement web. J'essaie de développer un site de réseautage social. Au niveau de la conception de la base de données, j'ai l'impression d'avoir quelques problèmes. Voici mes problèmes.problèmes dans la manipulation énorme quantité de statut et de commentaire
J'ai une table d'état où les attributs sont les suivants:
- status_id (auto_increment)
- user_id
- état
Mon plan est quand ma charge de page d'accueil il va chercher mon les amis de la table des relations (j'ai une table de relations) et avec l'id_utilisateur de la table des relations, il charge l'état (ordonné par le plus récent) de la table d'état. Est-ce un bon plan? J'y pense parce que cette table peut contenir des millions de lignes (si j'ai de la chance, mais j'ai besoin de la manière la plus efficace) et si un utilisateur a 200 ou 300 amis, cela deviendra-t-il lent? Est-il nécessaire de conserver un statut très ancien dans le tableau? S'il vous plaît donnez-moi quelques conseils. Cette table aura des insertions fréquentes, donc l'indexation n'est peut-être pas une bonne idée, que pensez-vous? J'ai également commenter table où les attributs sont les suivants:
- user_id
- friend_id (commentaire sur dont le statut)
- status_id (commentaire sur lequel statut)
- commentaire
Ici pas de clé primaire. Pour cette table, la question est la même. J'utilise la base de données MySQL et MyISAM comme moteur de base de données. Qu'en est-il d'InnoDB? Quel moteur conviendra le mieux aux réseaux sociaux? S'il vous plaît aviser, merci d'avance.
Quelle est la taille de ce site? Est-ce un devoir ou un exercice d'auto-apprentissage? Les grands réseaux sociaux utilisent des bases de données NoSQL en raison de leurs performances. –
1) Beaucoup trop de questions. 2) Votre table de commentaires n'a pas besoin de friend_id, et devrait probablement avoir un commentaire_id comme clé primaire – Ghost
Je veux la meilleure façon de le faire avec rdms –