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
Partager