Accelerer les requètes sql (newby)

Accelerer les requètes sql (newby) - Perl - Programmation

Marsh Posté le 29-10-2002 à 19:49:54    

Bonjour,
Je suis en train de créer une application en perl(cgi) qui se connecte a une db oracle,
seulement il met un temps bete a se connecte a la base,dans sql plus aussi donc je pense que c'est normal,mais je voudrais savoir
si il est possible de se connecter une seule fois a la base pour toute l'application,au lieu de devoir se reconncter a toutes les pages?
et aussi comment on peut ameliorer la vitesse de connexion a la base (au niveau de oracle)?
Merci d'avance pour vos reponse.

Reply

Marsh Posté le 29-10-2002 à 19:49:54   

Reply

Marsh Posté le 29-10-2002 à 19:55:05    

Nico5779 a écrit a écrit :

Bonjour,
Je suis en train de créer une application en perl(cgi) qui se connecte a une db oracle,
seulement il met un temps bete a se connecte a la base,dans sql plus aussi donc je pense que c'est normal,mais je voudrais savoir
si il est possible de se connecter une seule fois a la base pour toute l'application,au lieu de devoir se reconncter a toutes les pages?
et aussi comment on peut ameliorer la vitesse de connexion a la base (au niveau de oracle)?
Merci d'avance pour vos reponse.




Je n'y connais pas grand chose en Perl, ni en db Oracle, par contre je sais qu'avec MySQL & PostgreSQL, tu peux utiliser des connexions SQL persistantes.
 
Et en ce qui concerne l'amélioration de la vitesse de connexion à la bdd, réfère toi à la doc, chuis sûr que tu peux assigner des paramètres pour limiter telle ou telle fonction.

Reply

Marsh Posté le 29-10-2002 à 20:19:48    

Merci pour ta reponse helix  :)  
Je viens d'installer un Module , Apache:: DBI ,avec comme description 'iniatate a persitent database connection'
mais je comprend vraiment pas comment ca marche.
QQn peut t'il m'expliquer ou me renseigner de la doc sur ce module (en francais si possible)?,j 'ai pas trouver grand chose sur google,je cherche encore mais si vous pouvez m'aiguiller ca serait super.
Merci d'avance  :hello:


Message édité par Nico5779 le 29-10-2002 à 20:20:15
Reply

Marsh Posté le 29-10-2002 à 20:58:11    

La documentation doit se trouver sur le site où t'as téléchargé le module.

Reply

Marsh Posté le 29-10-2002 à 21:43:35    

:hello:
dans 99,99% des cas tu trouvera la doc sur le site http://www.cpan.org


---------------
Tout à commencé par un rêve...
Reply

Marsh Posté le 29-10-2002 à 22:42:54    

ok c bon ,
g trouver sur le site que tu as citer (ki est le meme que celui ou je l ai telecharger  :D )
mais apperement y fo modifier la config d'apache.
Je verrai ca demain, merci a vous deux en tout cas  :)

Reply

Marsh Posté le 30-10-2002 à 08:55:10    

Nico5779 a écrit a écrit :

Bonjour,
Je suis en train de créer une application en perl(cgi) qui se connecte a une db oracle,
seulement il met un temps bete a se connecte a la base,dans sql plus aussi donc je pense que c'est normal,mais je voudrais savoir
si il est possible de se connecter une seule fois a la base pour toute l'application,au lieu de devoir se reconncter a toutes les pages?
et aussi comment on peut ameliorer la vitesse de connexion a la base (au niveau de oracle)?
Merci d'avance pour vos reponse.



Tu peux bien sûr te connecter une seule fois à ta base Oracle, tu n'as ensuite plus qu'à tester la connexion via un simple ping dans la méthode DBI: Oracle


Message édité par Aricoh le 30-10-2002 à 08:55:30

---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Marsh Posté le 30-10-2002 à 09:08:54    

Bon, j'y capte rien au CGI mais voici qq trucs que j'ai développé y a keke temps, si ça peut te servir
 
Modules à rajouter dans ton script Perl :

Code :
  1. use DBI;
  2. use DBD::Oracle;


 
Connexion à une BDD Oracle :

Code :
  1. $dbh = DBI->connect("dbi:Oracle:", $USER, $PASSWORD);


 
Test qu'une connexion Oracle est toujours active :

Code :
  1. sub TesteServeur {
  2.     my $rc;
  3.     $rc = $dbh->ping;
  4.     if ($rc) {
  5. return 1;
  6.     } else {
  7. return 0;
  8.     }
  9. }


 
Cette fonction te retourne 1 si serveur toujours actif, 0 sinon. Tu peux donc employer cette fonction un peu partout dans ton code avant de faire une manip sous Oracle.
 
Mais je le répète : tu as CGI par-dessus tout ça, je ne sais pas si ma méthode fonctionne avec CGI.


---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO
Reply

Marsh Posté le 30-10-2002 à 12:22:15    

non je n'utilise pas cgi ,mais un autre module que g ecrit et qui donne presque le meme resultat,mais ou les documents sont ecrit en xhtml strict.
mais meme avec cgi je vois pk ta methode ne marcherait pas.
Je v tester si je m'en sort pas avec la config d apache,paske ca me sera utile si j'appelle une fonction d'un autre module qui utilise dbi, dans un module qui appelle aussi dbi, je voudrai pas qu'il se connecte plus d une fois par page :/
Merci @++

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed