> Tous les forums > Forum des Webmasters
 Urgent : optimisation de table
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
ogd
  Posté le 27/01/2011 @ 11:57 
Aller en bas de la page 
Astucien

Hello!

Petit à petit, je finis de développer mon back office.

Mais j'ai comme une petite impression de bordel dans ma base de données.

Je vous explique... J'ai une base qui contient:

1 table mp3

-id -son(de la chanson) -dateout(de la chanson)

-artiste -video(de la chanson) -compile

-titre(de la chanson) -date(d'ajout de la chanson)

-img(de la chanson) -support(de la chanson)

1 table newsdestar

-id -texte(de l'article) -auteur(de l'article)

-artiste -archive (de l'article) -lienversauteur

-titre(de l'article) -img(de l'article)

1 table top en jointure avec table mp3

-semaine -evolution

-position (du titre dans mp3)

- id ( du titre dans mp3)

1 table newscomment (en jointure avec newsdestar)

-id -pseudo

-idnews(de l'article) -valid

-comment

1 table topcomment en jointure avec mp3

-id -pseudo

-idtitre (dans mp3) -valid

-comment

1 table topvote en jointure avec mp3

-id -votemoins

-idtitre (dans mp3)

-voteplus

Je voudrais optimiser tout ça parce que ça me semble bien lourdingue, notament au niveau de la gestion de toutes les infos concernant les artistes...

puisque:

-1 artiste peut avoir plusieurs titres ainsi que plusieurs articles

-1 article peut avoir plusieurs commentaires

-1 titre peut avoir plusieurs commentaires et votes

Vos conseils et suggestions seront les bienvenues parce que là mes scripts commencent à se monter dessus, à se téléscopter enfin bref, ça fonctionne mais sur 3 pattes...

Merci pour votre aide

Publicité
Cedders
 Posté le 28/01/2011 à 22:08 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonsoir,

Est-ce que tu as déjà pensé à utiliser un outil de modélisation pour ceci ?

Typiquement DBDesigner qui une fois modéliser peut te générer le code SQL et même l'exécuter.

Je me ferais un plaisir de t'aider mais là je suis en période d'examen donc c'est tendu.



Modifié par Cedders le 28/01/2011 22:09
ogd
 Posté le 03/02/2011 à 11:04 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Hello Cedders!

J'ai téléchargé Mysql Workbench

et j'aboutit à ça mais je ne suis pas sur de la nature des liens entre les tables.

Par contre j'ai mis les liens sur les bonnes colonnes .

Est ce que ça semble cohérent?

Est ce que c'est optimisé?

Merci

Cedders
 Posté le 03/02/2011 à 13:14 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Hello !

Plusieurs choses :

  • Je ne comprends pas lutilité de ta table top 40 ? Si c'est un classement des 40 titres les plus populaires par semaine, alors je mettrais tout simplement un champ "semaine" dans la table vote puis à toi de jouer avec les requetes SQL.
  • La table concerts est isolée ... Pourquoi tu ne là lie pas avec la table artistes ?
  • Dans plusieurs tables tu as des champs nbxxx. Tu n'en a pas besoin, un requête SELECT COUNT(*) ... devrait faire l'affaire.

Donc je te dirais tout simplement de ne pas hésiter à réduire la taille de ta structure, même si celà complique tes requêtes SQL. Pour ces dernières, on pourra aussi t'aider au besoin.

J'espère tavoir été utile, je passe en coup de vente donc j'ai pas pu analyser dans tous les sens.

ogd
 Posté le 03/02/2011 à 22:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Cedders a écrit :

Hello !

Plusieurs choses :

  • Je ne comprends pas lutilité de ta table top 40 ? Si c'est un classement des 40 titres les plus populaires par semaine, alors je mettrais tout simplement un champ "semaine" dans la table vote puis à toi de jouer avec les requetes SQL.
  • La table concerts est isolée ... Pourquoi tu ne là lie pas avec la table artistes ?
  • Dans plusieurs tables tu as des champs nbxxx. Tu n'en a pas besoin, un requête SELECT COUNT(*) ... devrait faire l'affaire.

Donc je te dirais tout simplement de ne pas hésiter à réduire la taille de ta structure, même si celà complique tes requêtes SQL. Pour ces dernières, on pourra aussi t'aider au besoin.

J'espère tavoir été utile, je passe en coup de vente donc j'ai pas pu analyser dans tous les sens.

Hello Cedders,

*En fait le top40 est bien un classement des 40 titres les plus mis en avant et non pas les plus populaires. Donc en fait on prends en partie compte des votes mais le classement ne dépends que pour une petite partie de ces votes. C'est pourquoi je l'ai séparée, puisque c'est l'animateur qui détermine ce classement en fonction de plusieurs paramètres.

*Pour le moment, la table concert est alimentée par un csv fourni par notre partenaire. J'ai bien pensé à lier cette table avec la t artistes, mais le nom des artiste est souvent lié au nom du spectacle dans le meme champs ce qui risque de me créer de faux doublons.

ex :

-"Calogéro" dans la table artistes et "calogéro en live" dans la table concert

de plus, cette table concert est alimentée par un csv de +/- 15.000 lignes que je tris,filtre et apure..et pour ne pas la remplir pour rien, tous les2/3 mois je la vide completement et la re-remplis.

Cela dit, peut etre que ca vaut quand meme le coup de passer par la table artiste?Mais ca va etre lourd a gerer au niveau du csv à retravailler et de son parsing...

*pour les nbr, oui tu as entierement raison, d'ailleurs, je suis entrain de me flageller de ne pas y avoir pensé d'autant que j'utilise cette fonction dans d'autres tables...

*nota : pour les votes et commentaires, pour le moment, ça passe par un simple formulaire mais à terme, leur accès sera limité aux inscrits ne serait-ce que pour une meilleure gestion des spams et surtout de la modération. mais pour le moment je ne suis pas encore arriver à faire une zone membre telle que je la voudrais.je me pencherais dessus plus tard

Merci pour ton aide et tes conseils.

Je cherche surtout à optimiser mes tables et l'accès à mon site car actuellement, tout tient dans 9 tables construites au fur et à mesure des besoins et je voudrais faire quelque chose de plus propre et cohérent.

Bonne soirée et encore merci

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour participer à la discussion.
Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !
Recevoir PC Astuces par e-mail


La Lettre quotidienne +226 000 inscrits
Avec l'actu, des logiciels, des applis, des astuces, des bons plans, ...

Les bonnes affaires
Une fois par semaine, un récap des meilleurs offres.

Les fonds d'écran
De jolies photos pour personnaliser votre bureau. Une fois par semaine.

Les nouveaux Bons Plans
Des notifications pour ne pas rater les bons plans publiés sur le site.

Les bons plans du moment PC Astuces

Tous les Bons Plans
279 €Ecran ultra large LG 34 pouces 34WN650-W à 279 € [Amazon Prime]
Valable jusqu'au 22 Juin

Amazon propose actuellement l'écran 29 pouces LG 29WL50S-B à 159 € livré gratuitement alors qu'on le trouve à partir de 229 € ailleurs. Cet écran ultra large est au format 21/9, possède une dalle IPS et offre une résolution de 2560 x 1080 pixels. Avec lui, vous pourrez bénéficier d'une plus grande immersion dans les jeux et les films. Cet écran est compatible FreeSync.


> Voir l'offre
59,99 €Souris sans fil Logitech G703 LIGHTSPEED à 59,99 €
Valable jusqu'au 21 Juin

Fnac fait une promotion sur la souris sans fil Logitech G703 qui passe à 59,99 € alors qu'on la trouve ailleurs à partir de 90 €. Elle intègre le capteur HERO de Logitech afin de vous offrir un suivi et une efficacité supérieurs. Sans fil, elle dispose de la technologie Lightspeed afin de vous permettre une réactivité et une connectivité de qualité professionnelle pour des sessions de jeu longue durée allant jusqu'à 35 heures. De plus, les courbes naturelles s'adaptent parfaitement à votre main alors que le poids amovible de 10 grammes vous permettra d'alourdir votre souris afin d'améliorer encore plus la prise en main.


> Voir l'offre
69,50 €Webcam Logitech C922 Pro à 69,50 €
Valable jusqu'au 21 Juin

Amazon propose actuellement l'excellente webcam Logitech C922 Pro à 69,50 € livrée gratuitement alors qu'on la trouve ailleurs à partir de 100 € . Elle va vous permettre de diffuser et d'enregistrer des vidéos en 1080p à 30 images par seconde. De plus, la C922 Pro s'ajuste automatiquement aux éclairages faibles alors que les deux microphones omnidirectionnels capturent l'audio en stéréo sous tous les angles. Livrée avec un trépied pour surface plane, il intègre un support pivotant et est extensible jusqu'à 18.5 cm pour permettre à votre C922 d'adopter l'angle le plus avantageux.


> Voir l'offre

Sujets relatifs
affichage table par odre alphabétique
Suppression champs table selon critère
Optimiser requête lourde (Copying to tmp table ?)
Différence ...< div > VS < table >
si urgent
Demande d'optimisation sur un modèle de page
2 champs liés à une table
URGENT Aide Création Site Web Asso
déplacement de données d'une table à une autre
masquer une colonne d'une table
Plus de sujets relatifs à Urgent : optimisation de table
 > Tous les forums > Forum Forum des Webmasters