29/08-2006 à 23:37Voilà, je voudrais mettre en place une base de donnée MySQL qui risque d'être relativement énorme en terme de nombre de champs. En fait le principe est d'avoir une liste de chansons, et de pouvoir retrouver sur quels disques elles sont apparues (ainsi que d'autres informations), sachant que chacune a pu apparaitre sur plusieurs disques disques.
la collection complete doit faire en gros un petit millier de chansons et 80 disques, sachant que chaque chanson peut très bien apparaitre sur 7 ou 8 disques différents.
Donc la solution la plus simple me parait être de faire une grosse table avec une centaines de champs : les diverses infos sur la chanson (artiste, paroles, commentaires...) et les 80 disques sous forme de Booléens qu'on dérinira en tant que TRUE si la chanson apparait sur ce disque, et FALSE si elle n'y apparait pas.
Maintenant ma question est simple : est-ce qu'avoir une centaine de champs dans une table risque de ralentir de manière significative la base de donnée dans le cadre d'une requete du genre
"SELECT titre, artiste, commentaire, paroles from table WHERE disque65 = TRUE"
ou pire
"SELECT * from table WHERE disque67 = TRUE order by titre ASC" ?
Et si vous pensez que ça risque d'être vraiment lent, y a-t-il un meilleur moyen de faire ?
Merci
----------
