J'aimerais faire un petit concept dans mon script perl
mais je n'ai aucune idee de comment le faire.
Je suis pas tres bonne et donc encore en "apprentissage".
J'aimerais recuperer trois champs d'une table MySQL
Id:desi:code
qui ressemble a cela dans ma base Sql la table code:
Merci pour ta reponse, mais je n'arrive pas trop a comprendre ton code. Je fais donc la connexion a la bdd mais tu execute $code via sth sans avaoir avant defini $code ? il manque pas a un endroit un "sth->prepare" ? La requete Sqlje la place ou ?
Mais si ton serveur SQL est sur la même machine que le script Perl, ce n'est pas sûr que cela soit plus rapide. Je te conseille de faire des tests.
Non, ce n'est pas sur la meme machine mais surtout il y a X machine qui font la meme requete sur la meme table au meme moment.
Merci d'avance, je vais faire en meme temps une recherche sur les tabels de hashages sur google
Sur fr.comp.lang.perl, Mag disait :
et les mettres en memoire pour les retrouver et les exploiter tout
au long de mon script.
Celui prends un fichier de logs, l'analyse et pour chaque ligne fait
une interrogation de la table code pour trouver la desi d'apres le
code.
Merci pour ta reponse, mais je n'arrive pas trop a comprendre
ton code.
Je fais donc la connexion a la bdd
mais tu execute $code via sth sans avaoir avant defini $code ?
il manque pas a un endroit un "sth->prepare" ?
La requete Sqlje la place ou ?
Mais si ton serveur SQL est sur la même machine que le script Perl, ce
n'est pas sûr que cela soit plus rapide. Je te conseille de faire des tests.
Non, ce n'est pas sur la meme machine mais surtout il y a X machine qui
font la meme requete sur la meme table au meme moment.
Merci d'avance, je vais faire en meme temps une recherche sur les
tabels de hashages sur google
Merci pour ta reponse, mais je n'arrive pas trop a comprendre ton code. Je fais donc la connexion a la bdd mais tu execute $code via sth sans avaoir avant defini $code ? il manque pas a un endroit un "sth->prepare" ? La requete Sqlje la place ou ?
Mais si ton serveur SQL est sur la même machine que le script Perl, ce n'est pas sûr que cela soit plus rapide. Je te conseille de faire des tests.
Non, ce n'est pas sur la meme machine mais surtout il y a X machine qui font la meme requete sur la meme table au meme moment.
Merci d'avance, je vais faire en meme temps une recherche sur les tabels de hashages sur google
Merci pour ta reponse, mais je n'arrive pas trop a comprendre ton code.
Il s'agit de l'interrieur de ta boucle. Tu n'as pas donné de code, je ne pouvais donc pas deviner le reste de ton programme. Schématiquement on a :
my $dbh = DBI->connect blabla ; my $sth = $dbh->prepare(q{ blabla avec un placeholder pour $code my $code ; my $file ; open ($file,'<',fichier_log) or die(blabla) ; while (<$file>) { blabla où tu récupères $code mon code ci-dessus blabla où tu utilises $cache{$code} pour la désignation } ; close($file) ; $dbh->disconnect() ;
Mais si ton serveur SQL est sur la même machine que le script Perl, ce n'est pas sûr que cela soit plus rapide. Je te conseille de faire des tests.
Non, ce n'est pas sur la meme machine mais surtout il y a X machine qui font la meme requete sur la meme table au meme moment.
Normalement le serveur doit optimiser un maximum cette requête, mais c'est vrai que la BP et le ping peut ralentir.
Merci d'avance, je vais faire en meme temps une recherche sur les tabels de hashages sur google
En français : http://perl.enstimac.fr/DocFr/perlintro.html
-- et je ne fais aucunes fautes d'orthographes en tappant au clavier sans le regarder et surtout sans utiliser un dictionnaire correctif de fautes... -+- EB in www.le-gnu.net : Un singulier pluriel -+-
Merci pour ta reponse, mais je n'arrive pas trop a comprendre
ton code.
Il s'agit de l'interrieur de ta boucle. Tu n'as pas donné de code, je
ne pouvais donc pas deviner le reste de ton programme. Schématiquement
on a :
my $dbh = DBI->connect blabla ;
my $sth = $dbh->prepare(q{ blabla avec un placeholder pour $code
my $code ;
my $file ;
open ($file,'<',fichier_log) or die(blabla) ;
while (<$file>) {
blabla où tu récupères $code
mon code ci-dessus
blabla où tu utilises $cache{$code} pour la désignation
} ;
close($file) ;
$dbh->disconnect() ;
Mais si ton serveur SQL est sur la même machine que le script Perl,
ce n'est pas sûr que cela soit plus rapide. Je te conseille de
faire des tests.
Non, ce n'est pas sur la meme machine mais surtout il y a X machine
qui font la meme requete sur la meme table au meme moment.
Normalement le serveur doit optimiser un maximum cette requête, mais
c'est vrai que la BP et le ping peut ralentir.
Merci d'avance, je vais faire en meme temps une recherche sur les
tabels de hashages sur google
En français :
http://perl.enstimac.fr/DocFr/perlintro.html
--
et je ne fais aucunes fautes d'orthographes en tappant au clavier sans
le regarder et surtout sans utiliser un dictionnaire correctif de
fautes...
-+- EB in www.le-gnu.net : Un singulier pluriel -+-
Merci pour ta reponse, mais je n'arrive pas trop a comprendre ton code.
Il s'agit de l'interrieur de ta boucle. Tu n'as pas donné de code, je ne pouvais donc pas deviner le reste de ton programme. Schématiquement on a :
my $dbh = DBI->connect blabla ; my $sth = $dbh->prepare(q{ blabla avec un placeholder pour $code my $code ; my $file ; open ($file,'<',fichier_log) or die(blabla) ; while (<$file>) { blabla où tu récupères $code mon code ci-dessus blabla où tu utilises $cache{$code} pour la désignation } ; close($file) ; $dbh->disconnect() ;
Mais si ton serveur SQL est sur la même machine que le script Perl, ce n'est pas sûr que cela soit plus rapide. Je te conseille de faire des tests.
Non, ce n'est pas sur la meme machine mais surtout il y a X machine qui font la meme requete sur la meme table au meme moment.
Normalement le serveur doit optimiser un maximum cette requête, mais c'est vrai que la BP et le ping peut ralentir.
Merci d'avance, je vais faire en meme temps une recherche sur les tabels de hashages sur google
En français : http://perl.enstimac.fr/DocFr/perlintro.html
-- et je ne fais aucunes fautes d'orthographes en tappant au clavier sans le regarder et surtout sans utiliser un dictionnaire correctif de fautes... -+- EB in www.le-gnu.net : Un singulier pluriel -+-
Jogo
Sur fr.comp.lang.perl, Mag disait :
$dbh = DBI->connect($connectionInfo,$userid,$passwd); my %listdomaines; $sth = $dbh->prepare("select domaine,id from domaines"); $sth->execute(); while (@row1 = $sth->fetchrow_array) { $listdomaines{"@row1[0]"} = @row1[1]; }
Cela marche pas encore, mais bon c'est sur la voie
Essaie : $listdomaines{$row1[0]} = $row1[1];
Pour éviter ce genre d'erreur, *il faut toujours* commencer ses scripts par : use strict ; use warnings ;
Sinon, ton idée de charger toute la base de donnés est certainement mauvaise, car tu vas charger même les valeurs que tu n'utiliseras jamais.
-- Jesus dies for somebody's sins but not mine...
Sur fr.comp.lang.perl, Mag disait :
$dbh = DBI->connect($connectionInfo,$userid,$passwd);
my %listdomaines;
$sth = $dbh->prepare("select domaine,id from domaines");
$sth->execute();
while (@row1 = $sth->fetchrow_array) {
$listdomaines{"@row1[0]"} = @row1[1];
}
Cela marche pas encore, mais bon c'est sur la voie
Essaie : $listdomaines{$row1[0]} = $row1[1];
Pour éviter ce genre d'erreur, *il faut toujours* commencer
ses scripts par :
use strict ;
use warnings ;
Sinon, ton idée de charger toute la base de donnés est certainement
mauvaise, car tu vas charger même les valeurs que tu n'utiliseras
jamais.