conception et performances [mySql] - SQL/NoSQL - Programmation
Marsh Posté le 18-09-2002 à 13:51:18
n'oublie pas de mettre des index.
sinon euh .. t'as piqué toutes les paroles de purelyrics.com ou quoi?
Marsh Posté le 18-09-2002 à 13:57:12
1 seule table : bonjour les infos redondantes !...
Sinon comme l'a dit greg, n'oublie pas de mettre des index sur tes champs (artiste et titre dans ton cas).
Tu peux également de temps en temps faire un "OPTIMISE TABLE nomtable" (ou équivalent avec mysqladmin).
Enfin je sais pas comment tu fais tes requêtes mais évite les LIKE c très gourmand en ressource !
Marsh Posté le 18-09-2002 à 14:13:16
voila la structure de la table
Code :
|
et voila la requete (y a surement plein de truc a ameliorer de ce coté)
Code :
|
Marsh Posté le 02-10-2002 à 17:15:05
aucun interet de mettre un index fulltext si tu utilises pas la syntaxe de mysql pour utiliser l'index fulltext (SELECT ... MATCH ... AGAINST )
Marsh Posté le 18-09-2002 à 13:33:21
Voila la situation:
j'ai fait un plugin pour winamp qui affiche les paroles des chansons.
ces paroles sont dans une base mysql, maintenant que la base de données est grosse (160Mo , +130000 enregistrements) j'ai des problemes de performances sur le serveur(utilisation cpu a 100%,requetes lentes) ce qui fait que je me fais regulierement jeté par mes herbergeurs...
J'aimerais savoir vous feriez le modele de bdd pour des temps de recherche optimaux.
Actuellement la recherche se fait sur l'artiste et le titre (j'ai pas mis l'album pour pas surcharger)
dans la premiere version de la base j'avais 3 tables (artist,album,chanson) mais je pense que la cherche avec des jointures c'est pas le plus rapide.
J'ai donc tous mis dans une seule table,et là,la recherche est bien plus rapide (2,3x moins de temps pour faire une recherche).
Est ce qu'il est possible de faire quelque chose de mieux(en restant sur mysql)?
Sinon je pense aussi utiliser une bdd locale et facile a deployer(sans installer de serveur),qu'est ce qui existe de bien et gratuit?