Quel type de stockage de données ?

Résolu/Fermé
Joe Burtonn - 1 déc. 2007 à 01:33
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 - 4 déc. 2007 à 20:18
Bonjour,

Je suis actuellement en train de coder un site internet en php/sql et pour l'instant tout allait bien.
Dans ce site, j'ai créé des fiches membres assez élaborées où chaque membre dispose d'une gallerie photo perso (il peut ajouter autant de photos qu'il veut), et les autres membres peuvent commenter les photos. Il dispose aussi d'un guestbook, d'une liste d'amis, et on peut voir la liste des dernières visites.
Mais après avoir codé tout ca, je me suis dit que vu le nombre important de commentaires qu'il va y avoir au niveau des photos, et que tout est stocké dans la même table (juste l'id de la photo permet de retrouver les commentaires), et bien ca risque de rapidement être très long à charger :/

Je me demande donc si je ne devrai pas plutot utiliser un autre système de stockage de données, du genre créer un dossier sur le ftp pour chaque membre, et dedans je stock les commentaires du guestbook, ceux relatifs aux photos, etc ... dans des fichiers. Ainsi, lorsque l'on charge une page avec des commentaires, pas besoin de parcourir des dizaines (centaines?) de milliers d'enregistrements pour trouver les commentaires correspondant aux photos ou au guestbook.
Est-ce une bonne idée, ou bien ma base de donnée mysql est largement assez rapide pour effectuer ce genre de requêtes. Et si je dosi faire comme ca, comment dois-je faire ?


Merci d'avance à ceux qui prendront le temps de m'aider.

Cordialement,
Joe Burtonn.

1 réponse

Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
4 déc. 2007 à 20:18
salut,

pour faire plus vite qu'un bdd, faut être rapide…
-;o)

si tu ajoutes un index à ta table et que tu effectues au maximum les recherches via cet index il ne devrait pas y avoir de problème !
en plus tu peux ajouter une limite à ta requête.
SELECT champ FROM table WHERE condition LIMIT 0, 10 ;
0