8797 sujets

Développement web côté serveur, CMS

Bonjour à toutes et tous,

Voilà la situation. On souhaite stoquer sur une base de donnée MySQL une liste de personnes avec leurs caractéristiques. L'une des caractéristique sera par exemple une variable valant 1 si la personne est inscrite à une mailing list, et 0 si la personne n'est pas inscrite.

Maintenant, imaginons que l'on souhaite rechercher soit:
- Toutes les personnes inscrites pour les lister
- Toutes les personnes non inscrites pour les lister

Alors en théorie on fera un SELECT * from ... WHERE inscrit=1
ou pour chercher les personnes non inscrites avec un WHERE inscrit=0

Imaginons à présent une architecture différente de la base de donnée, avec deux tables:
- Une table avec toutes les personnes inscrites
- Une table avec toutes les personnes non inscrites

Et là, pour liste les personnes inscrites on fera un SELECT * from table_inscrits
et pour lister les personnes non inscrites on fera un SELECT * from tables_non_inscrits

Dans la première option, on stoque toutes les personnes dans une seule table, et dans la seconde option, on créer 2 tables pour les deux types de personnes.

Et là j'en viens à ma question: la seconde option sera-t-elle vraiment plus rapide pour lister toutes les personnes inscrites (ou non inscrites au contraire)?

En effet, j'ai un problème du genre et j'hésite à créer une table ou deux tables pour lister l'ensemble des personnes... Ceci en sachant qu'à aucun moment il ne faudra faire de rechercher dans l'ensemble des personnes, ce sera toujours
- soit une recherche parmis les inscrits
- soit une recherche parmis les non inscrits

Donc l'idée de créer deux tables permettra-t-elle un gain de rapidité pour les requêtes?
Modifié par Anarianthe (10 Nov 2005 - 21:11)
Bonjour Anarianthe et bienvenue sur Alsacréations, Smiley smile

Je crains que ton sujet ne rentre pas dans le cadre de ce salon qui est spécifiquement destiné à l'utilisation des standards et des langages serveurs comme l'indique l'annonce du salon, dans lequel tu trouveras des liens vers des ressources plus adaptées à ton problème.

Je ferme ton post.

Merci de ta compréhension.

Tu peux me contacter par message privé ou tout autre modérateur si tu souhaites plus d'explications.