IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Outils MySQL Discussion :

Optimisation mysql architecture


Sujet :

Outils MySQL

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 3
    Par défaut Optimisation mysql architecture
    Bonjour,

    j'ai un probleme d'optimisatin de requete, voir d'architecture mysql.

    J'ai une serie de donnees pour chaque personne dans une entreprise informatique.
    Pour chaque entree j'ai une bonne vingtaine de champs (une technologie informatique) avec un niveau associé(expert, bon, moyen, notions=
    Par exemple :


    Serge : oracle (expert) / unix (expert) / c (bon)/ php (notions) / sybase (notions) / powerbuilder (bon)/ etc ...
    antoine: unix(bon)/ c(bon) / visuals basic (bon)/ etc ...
    stephane : php (expert)/ mysql (moyen) / linux etc ...

    Imaginez une base de données consequante (plusieurs milliers de noms) et une vingtaine de champs chacun (avec a chaque fois un niveau entre parenthese ou dans un autre champs).

    j'ai un outil de recherche mais je souhaite classer par pertinence ... si je recherche "oracle" chez un employé, je souhaite avoir en premiere reponse les experts, puis le sbons, puis le moyens, puis les notions. Si je recherche oracle+unix, je souhaite les experts dans les deux, puis expert/bon, puis etc....

    Le soucis est le temps de traitement pour obtenir les reponses classees puisque chaque terme recherchés (oracle, unix etc ...) peuvent-etre dans n'importe quel champs (1 a 20 ) .... donc il faut tester tout les champs(c'ets le plus long) , extraire le niveau et comparer (la dessus pas de soucis apriori) ...
    quelqu'un a -t-il une idee ?

    J'ai pense creer une base avec tous les termes que je peux rechercher et noter le niveau du candidat pour chaque (une sorte d'index)... il y aura beaucoup de termes mais au moins ils seront toujorus au meme endroit et plus accessibles.

    Est-ce une solution ? y-a-til plus simple ? une astuce ?


    Merci d'avance,
    Stephane.
    Configuration: Windows XP
    Internet Explorer 6.0

  2. #2
    Membre chevronné Avatar de nounetmasque
    Inscrit en
    Janvier 2003
    Messages
    494
    Détails du profil
    Informations forums :
    Inscription : Janvier 2003
    Messages : 494
    Par défaut
    Je te conseille de faire trois tables distinctes :
    • table 1 : les informations personnelles + id_domaine + id_niveau
    • table 2 : le lien entre ton id_domaine et le libellé
    • table 3 : le lien entre ton id_niveau et le libellé


    Pour la table 3, il faudra classer tes libellé par pertinence (0: expert, 1:moyen 2:nul).

    Cette architecture n'est peut-être pas optimale mais te permettra de créer des index pertinents pour ta recherche.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Optimisation] Comment optimiser mon architecture ?
    Par buzzkaido dans le forum C++
    Réponses: 6
    Dernier message: 09/05/2007, 13h59
  2. optimisation mysql : quel sont les limites ?
    Par xorax dans le forum Requêtes
    Réponses: 3
    Dernier message: 03/01/2007, 15h31
  3. Optimisation MySQL pour gros volumes
    Par barns dans le forum Requêtes
    Réponses: 8
    Dernier message: 01/10/2005, 11h28
  4. Optimiser MySql pour plusieurs milliers de tables
    Par compu dans le forum Installation
    Réponses: 14
    Dernier message: 02/09/2005, 15h11
  5. Optimisations mysql sur les requêtes SELECT: index
    Par leo'z dans le forum Débuter
    Réponses: 2
    Dernier message: 29/11/2003, 13h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo