|
Débuté par tabornio, 28 oct. 2005 16:36 - 4 réponses |
| |
| | | |
|
| |
Posté le 28 octobre 2005 - 16:36 |
Bonjour,
Petit problème de temps de réponse...dans le remplissage d'une tablemémoire. Aprés analyse des performances le temps de traitement est de 62 secondes, dont 57 secondes sur la fonction HlitSuivant().
TableSupprimeTout(Table_Client) SI PAS HExécuteRequête(Req_client, hRequêteDéfaut,Parm3, Parm8) ALORS Erreur("Erreur d'inialisation de la requête"+RC+ErreurInfo()) FIN
//lecture du premier enreg de la requête HLitPremier(Req_client) TANTQUE PAS HEnDehors(Req_client) TableAjouteLigne(Table_Client, Req_client.num, req_client.nom, req_client.prenom) HLitSuivant(req_client) FIN HAnnuleDéclaration(Req_Client)
Si vous avez une idées...merci |
| |
| |
| | | |
|
| | |
| |
Posté le 28 octobre 2005 - 21:33 |
Utilises avantageusement FichierVersTableMémoire().
Antoine
"Tabor" <tabornio@yahoo.fr> a écrit dans le message de news: 43622246$1@news.pcsoft.fr...
Bonjour,
Petit problème de temps de réponse...dans le remplissage d'une tablemémoire. Aprés analyse des performances le temps de traitement est de 62 secondes, dont 57 secondes sur la fonction HlitSuivant().
TableSupprimeTout(Table_Client) SI PAS HExécuteRequête(Req_client, hRequêteDéfaut,Parm3, Parm8) ALORS Erreur("Erreur d'inialisation de la requête"+RC+ErreurInfo()) FIN
//lecture du premier enreg de la requête HLitPremier(Req_client) TANTQUE PAS HEnDehors(Req_client) TableAjouteLigne(Table_Client, Req_client.num, req_client.nom, req_client.prenom) HLitSuivant(req_client) FIN HAnnuleDéclaration(Req_Client)
Si vous avez une idées...merci
|
| |
| |
| | | |
|
| | |
| |
Posté le 28 octobre 2005 - 21:59 |
Bonjour,
Avec le code suivant :
POUR TOUS Req_client TableAjoute .... FIN
Faut voir si les perf sont bonnes.
Voir aussi avec :
ConstruitTableFichier avec TaRemplirTable
Très rapide, il faut adapter ton code en fonction des colonnes.
A+ |
| |
| |
| | | |
|
| | |
| |
Posté le 29 octobre 2005 - 16:37 |
Bonjour,
Ajouter un paramètre complémentaire à HLitPremier, pour avoir
Hlitpremier(Req_client , hSansRafraichir)
La requête n'est ainsi pas ré-executée.
Salutations.
ATGD. |
| |
| |
| | | |
|
| | |
| |
Posté le 01 novembre 2005 - 09:04 |
Si j'attends beaucoup de lignes, je rends invisible la table mémoire (conseil PCSOFT) pendant le remplissage.
Sinon j'utilise ce type de code sans soucis, au seul problème que la façon d'écrire une requête agit sur le temps de réponse. Index sur des champs de sélection et parfois couper la requête en deux.
Salutations
Christian.
"Tabor" <tabornio@yahoo.fr> a écrit dans le message news: 43622246$1@news.pcsoft.fr...
Bonjour,
Petit problème de temps de réponse...dans le remplissage d'une
tablemémoire. > Aprés analyse des performances le temps de traitement est de 62 secondes, dont 57 secondes sur la fonction HlitSuivant().
TableSupprimeTout(Table_Client) SI PAS HExécuteRequête(Req_client, hRequêteDéfaut,Parm3, Parm8) ALORS Erreur("Erreur d'inialisation de la requête"+RC+ErreurInfo()) FIN
file://lecture du premier enreg de la requête HLitPremier(Req_client) TANTQUE PAS HEnDehors(Req_client) TableAjouteLigne(Table_Client, Req_client.num, req_client.nom,
req_client.prenom)
HLitSuivant(req_client) FIN HAnnuleDéclaration(Req_Client)
Si vous avez une idées...merci
|
| |
| |
| | | |
|
| | | | |
| | |
|