OVH Cloud OVH Cloud

Temps de reponse

2 réponses
Avatar
XOKO
Bonjour,

Actuellement sur un sql server 2003 avec IIs 6

Je lance des pages asp et j'utilise le script suivant



set MyConn=server.createobject("adodb.connection")

MyConn.open "toto","toto","toto"



Lors de l'appelle d'une requete du type



sql="SELECT * FROM TOTO"



Set RS=MyConn.Execute(sql)



While not(RS.EOF)

...

next



Je n'ai pas de soucis mais des que je mets une requête dans mon while



While not(RS.EOF)



Sql2="SELECT * FROM TOTO2 where ."



Set RS2=MyConn.Execute(sql2)



next



c'est la cata au niveau des temps de réponse du serveur ????

Le script fonctionnait tres bien sur mon SQL7 avant que le le transfert sur
une nouvelle machine.

Avez-vous une idée d'où peut venir ce problème ?



Merci





Franck

2 réponses

Avatar
Michel PRIORI
Les bases de données sont structurées pour être consultées en ensemblisme et
non en procédural, je m'explique :

quand tu codes "While not(RS.EOF) | Sql2="SELECT * FROM TOTO2 where .""
1- tu possèdes un jeu d'enregistrement (que tu as obtenus comment ?)
2- combiens de fois tu fais une demandes via le réseau ?

Essaie de réflechir "ensemble". tu ne devrais pas avoir à boucler sur un
SELECT.

NB : SELECT * = toutes les colonnes ; t'as vraiment besoin de chacune d'elle ?

"XOKO" wrote:

Bonjour,

Actuellement sur un sql server 2003 avec IIs 6

Je lance des pages asp et j'utilise le script suivant



set MyConn=server.createobject("adodb.connection")

MyConn.open "toto","toto","toto"



Lors de l'appelle d'une requete du type



sql="SELECT * FROM TOTO"



Set RS=MyConn.Execute(sql)



While not(RS.EOF)

....

next



Je n'ai pas de soucis mais des que je mets une requête dans mon while



While not(RS.EOF)



Sql2="SELECT * FROM TOTO2 where ."



Set RS2=MyConn.Execute(sql2)



next



c'est la cata au niveau des temps de réponse du serveur ????

Le script fonctionnait tres bien sur mon SQL7 avant que le le transfert sur
une nouvelle machine.

Avez-vous une idée d'où peut venir ce problème ?



Merci





Franck









Avatar
XOKO
Bonjour,
en fait le cas que je propose ici est un exemple qui passe tres bien sur mon
ancienne machine et qui rame a fond sur la nouvelle.
Le rapport est enorme plus de 10 X plus long sur la machine plus recente....
JE cherche donc a comprendre pourquoi, mon code ne ressemble en rien a ca
sur la nouvelle machine.
J'ai en fait decouvert le probleme en utilisant un code qui met a jours
quelques milliers de lignes ( insert) et qui est passé du jour au lendemain
de 2 min a ...( jen'ai meme pas reussit a le terminer)
Encore merci


Franck


"Michel PRIORI" a écrit dans le
message de news:
Les bases de données sont structurées pour être consultées en ensemblisme
et
non en procédural, je m'explique :

quand tu codes "While not(RS.EOF) | Sql2="SELECT * FROM TOTO2 where .""
1- tu possèdes un jeu d'enregistrement (que tu as obtenus comment ?)
2- combiens de fois tu fais une demandes via le réseau ?

Essaie de réflechir "ensemble". tu ne devrais pas avoir à boucler sur un
SELECT.

NB : SELECT * = toutes les colonnes ; t'as vraiment besoin de chacune
d'elle ?

"XOKO" wrote:

Bonjour,

Actuellement sur un sql server 2003 avec IIs 6

Je lance des pages asp et j'utilise le script suivant



set MyConn=server.createobject("adodb.connection")

MyConn.open "toto","toto","toto"



Lors de l'appelle d'une requete du type



sql="SELECT * FROM TOTO"



Set RS=MyConn.Execute(sql)



While not(RS.EOF)

....

next



Je n'ai pas de soucis mais des que je mets une requête dans mon while



While not(RS.EOF)



Sql2="SELECT * FROM TOTO2 where ."



Set RS2=MyConn.Execute(sql2)



next



c'est la cata au niveau des temps de réponse du serveur ????

Le script fonctionnait tres bien sur mon SQL7 avant que le le transfert
sur
une nouvelle machine.

Avez-vous une idée d'où peut venir ce problème ?



Merci





Franck