A propos de HLitPremier
Developpeur WDF
Inscrit:
10/02/2005 14:25
De Lille
Post(s): 123
Bonjour,

Quelqu'un connaitrait il le moyen d'accélérer le HlitPremier ou une méthode plus rapide???

Voila :

Je veux recuperer le résultat d'une requete dans une table.
1 - Je décrit et je crée la table de destination
2 - J'execute la requete
3 - Je parcours la requete comme suit
HLitPremier("REQ")
TANTQUE PAS HEnDehors("REQ")
	HCopieEnreg({cNomFichierHF}+"TRI","REQ",hValDéfaut)
	HAjoute({cNomFichierHF}+"TRI")
	HLitSuivant("REQ")
FIN


Dans l'analyseur, HLitPremier consomme 5 secondes et des broutilles pour trouver le premier enregistrement de ma requete qui comporte au total 2130 enregistrements avec 12 champs.

Merci bien a vous

Contribution le : 20/04/2005 12:20
Créer un fichier PDF de la contribution Imprimer


Re: A propos de HLitPremier
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,
Il n'en va pas que de HLitPremier() mais aussi de la complexité de la requête ainsi que du tri à effectuer sur le résultat.


Vous pouvez aussi utiliser l'instruction :
POUR TOUS "REQ"

FIN


Si cela ne fonctionne pas vous pouvez remplacer
"REQ" par
//Déclaration de la source de données
Rs est une Source de données

//Parcours de la source de données
POUR TOUS Rs

FIN

Contribution le : 20/04/2005 12:48
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: A propos de HLitPremier
Anonyme
Ca fonctionne mais n'ameliore pas le temps d'execution

Voici ma requete :
SELECT * FROM [A1005-ENZ],TABLE_RB WHERE LEFT(Champ7,2)=TABLE_RB.DEP ORDER BY TABLE_RB.ZONE,Champ7,Champ8


Avec l'analyseur (sur un fichier de 44000 lignes et 12 champs) : temps d'execution de HLitPremier consomme 129 secondes ce quime semble enorme alors peut etre un probleme dans me requete...

Contribution le : 20/04/2005 15:46
Créer un fichier PDF de la contribution Imprimer


Re: A propos de HLitPremier
Developpeur WDF
Inscrit:
10/02/2005 14:25
De Lille
Post(s): 123
Oops c t moi

Contribution le : 20/04/2005 15:47
Créer un fichier PDF de la contribution Imprimer


Re: A propos de HLitPremier
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

Les champs (champ7 et champ8) doivent être indexés pour que la requête soit optimisée, mais je pense que cela à déjà été fait.

Si tous les champs de la table [A1005-ENZ] ne sont pas nécessaire, il est préférable de les nommer explécitement. (moins de données en memoire) = tri + rapide

Contribution le : 20/04/2005 17:19
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: A propos de HLitPremier
Developpeur WDF
Inscrit:
10/02/2005 14:25
De Lille
Post(s): 123
La requete est créé en programmation et les champs 7 et 8 appartiennent a la table a trier précédemment importé

Toutes les données sont indispensables car ce sont des fichiers clients devant subir un tri pour la Poste

Comment je peux indéxer ma table avec HReindexe???

Merci

Contribution le : 20/04/2005 17:33
Créer un fichier PDF de la contribution Imprimer


Re: A propos de HLitPremier
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Bonjour,

C'est au niveau de ton analyse que les champ7 et champ8 doivent être déclaré clé avec doublon(normalement)
ensuite avant l'exécution de ta requete, tu peux voir les fonction -
-HOptimise()
-HPrepareRequeteSql()
-HStatCalcule()

Contribution le : 20/04/2005 18:04
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: A propos de HLitPremier
DSI WDF
Inscrit:
15/03/2005 14:22
Post(s): 238
La jointure utilis" (left(...)) consome un temps considérable.
A modifier l'analyse, il vaudrait mieux stoquer le N) de département dans un champ, non saisisable, qui se met à jour grâce à un trigger.

Contribution le : 20/04/2005 23:53
Créer un fichier PDF de la contribution Imprimer


Re: A propos de HLitPremier
Developpeur WDF
Inscrit:
10/02/2005 14:25
De Lille
Post(s): 123
Vous avez appelé la fonction HDecritClé.
La desciption du fichier ne peut plus être modifiée. Il est ouvert par l'application.

J'essaie de décrire la clé avec la fonction HDecritCle mais il me dit que le fichier est deja ouvert par l'application meme si je fais un HFerme()

J'ai essayé de fermer l'analyse et de la reouvrir mais il ne me trouve plus le fichier decrit dynamiquement meme en faisant un HDeclare ou un HDeclareExterne

Contribution le : 21/04/2005 09:48
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2