Requêtes HF dix fois plus lentes que sous access ???
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Voila, j'ai refait un ancien logiciel de gestion de fichier clients sous Windev. Avant il était sous access. j'ai converti la base ( environ 4000 enregistrements ). Et à ma grande surprise, là ou sous access, l'affichage de la liste des clients est quasi instantanée, sous windev, ça prend 10 secondes.

J'ai pourtant rien de spécial, j'affiche juste le résultat d ma requête dans une table. J'ai environ 8 rubriques de sélèctionnées dans ma requête ( pas une seule de non nécessaire ). J'ai un peu gagné en mettant en clés secondaire toutes les rubriques qui servent de paramétre à ma requête.

J'ai ausi gagné un peu avec l'optimiseur windev, mais quand même, dix secondes là ou il en faut moins d'une à access...

Je précise que l'acces à la base se fera par un réseau ( pointage direct sur le fichier HF ), donc ça va encore empirer

Y aurait il des subtilités à connaître en ce qui concerne l'execution de requêtes sur des fichiers avec pas mal d'enregistrements ?

Contribution le : 19/07/2004 17:10
Créer un fichier PDF de la contribution Imprimer


Re: Requêtes HF dix fois plus lentes que sous access ???
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Salut,

Dans un premier temps, vous pouvez lire ce support disponible sur ce site ici et fourni par PCSoft

dans un deuxième temps
Pensez à ouvrir les fichiers en mode Lecture
HOuvre([ [,] ,HOLecture])
lorsqu'il s?agit de visualisation seule. Cela accélère très sensiblement l'exécution de la requête.

Pensez aussi :

a désactiver les HGere* qui ne sont pas utiles

HGèreAccèsDistant()
HGèreDoublon()
HGèreIntégrité()
HGèreJournal()
HGèreMémo()
HGèreREP()
HGèreRéplication()
HGèreREPNon()
HGèreTransaction()
HGèreTrigger()

Voir l'aide en ligne sur ces fonctions.

Pensez dans la mesure du possible de filtrer le fichier sur la clé la plus discriminante avant d'exécuter votre requête. Cela peut accèlérer aussi l'exécution dela requête dans certain cas. N'oubliez pas de désactiver le filtre après l'exécution de la requête.

Je ne pense pas que le problème vienne de l'exécution de la requête elle-même mais peut plutôt de l'affichage des données.

Pouvez vous nous indiquer la méthode et le code que vous avez utilisé pour afficher vos données ?



Contribution le : 19/07/2004 22:53
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer


Re: Requêtes HF dix fois plus lentes que sous access ???
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337

Merci de ta réponse drCharly93, ça m'à mis sur la bonne voie :

En fait j'ai rendu ma requête quasiment instantanée en cochant dans les options avancées : "Parcour dynamique avec hfiltre".

Par contre j'ai encore un truc étrange :

Ma recherche se fait sur 6 paramétres avec des conditions de type "contient" à travers un réseau. Quand je lance l'analyseur de performances, j'obtient 6,5 sec pour
l'affichage du résultat de ma recherche ( les temps sont les même avec un projet compilé et un acces disque). Je suis sur un Celeron 2Ghz avec 512Mo de ram et sous XP.

Par contre, j'ai testé il y à 5 min sur un 450Mhz avec 256Mo de ram est windows 2K, et un acces à la base sur le réseau, et là, la premiére interrogation de la base met queqlues secondes, ensuites toutes les interrogations sont quasi instantanée ( même sur des critéres sans rapports avec le précédent, par exemple si je cherche jean, aprés avoir cherché sébastien, c'est tout de même ultra-rapide )

Sachant que chez le client, le premier test n'avait pas été concluant ( trop lent pour être utilisé ), j'aimerai bien savoir pour quelles raisons la vitesse d'execution des requêtes varie de 1 à 100 d'un pc à l'autre ( et sans rapport avec la puissance du PC )

Contribution le : 21/07/2004 10:25
Créer un fichier PDF de la contribution Imprimer


Re: Requêtes HF dix fois plus lentes que sous access ???
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Bon, en fait j'ai résolu mon probléme en discutant avec du monde : Il en est ressorti que faire des recherches " contient" était strictement inutile, et des "commence par" suffisait.

Par contre je n'explique toujours pas la différence de perfs d'un PC à l'autre...

Contribution le : 21/07/2004 10:37
Créer un fichier PDF de la contribution Imprimer


Re: Requêtes HF dix fois plus lentes que sous access ???
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Salut,

Content de voir que tu arrive à temps qui te parraissent correcte.

Il ne faut pas oublier avec Hyper File les contraintes suivantes:

L'Hyper File n'est pas une base Client / Serveur ce qui signifie que les requêtes ne sont pas exécutées sur le serveur qui contient les données, mais sur le poste qui en fait la demande se qui nécessite un trafic important du réseaux et la gestion des blocages et autres ce qui peut ralentir sensiblement les temps de réponse lorsque que l'on ne programme pas cela finement dès le deuxiéme poste connecté aux données, d'où l'intérêt de gérer les fonctions HGère* et le mode d'ouverture des fichiers en fonction des besoins.

Il est à rappeler que PCSoft serait en cours de développement d'une version Client / Serveur

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


Re: Requêtes HF dix fois plus lentes que sous access ???
DSI WDF
Inscrit:
06/04/2004 12:07
Post(s): 337
Ca sera pas mal si en effet ils developpent une base client / serveur, comme tu dit...

Sinon j'ai un autre probléme, je vais pas faire un nouveau post pour ça :

Dans ma boite, on modernise les anciennes applis access vers Windev, c'est donc la raison pour laquelle je parle tant que ça d'acces ; toutes les anciennes bases sont interconnectées, et on ne peu pas toujours se permettre de les basculer en HF.

Donc j'utilise enormément les hdécritconnexion, et hchange connexion. Habituellement je fait une frame invisible "load" qui est la premiére page du projet, et fait tout les changements de connexion puis elle lance le programme.

Mais j'ai réguliérement un probléme : J'ai mes chemins dans des fichiers ini pour les bases access, quand je developpe sur mon poste et que je fait l'analyse, je dit à windev ou sont mes bases sur le disque. Par contre réguliérement, quand je fait les tests sur une autre machine, je me rend compte qu'en fait il va chercher mes bases dans le chemin de la connexion par défaut ( alors que j'ai bien fait mes hdecritconnexion, et hchangeconnexion ). Donc j'aimerai bien savoir pourquoi j'ai ce probléme, sachant que mes changements de connexion au chargement se font sans probléme ( résultat du hchange = 1 à chaque fois )

Contribution le : 26/07/2004 18:36
Créer un fichier PDF de la contribution Imprimer


Re: Requêtes HF dix fois plus lentes que sous access ???
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
Salut,

La technique que j'utilise sur mon poste de dévelloppement c'est dans mon analyse de laisser le chemin des donnees dans le répertoire en cours.

Puis d'utiliser un sous répertoire 'Données' ou seront stockées physiquement mes données.

Dans le code d'initialisation de mon projet je fais mes HChangeRep sur mes fichiers
HChangeRep("*",<Nom complet du fichier complet mdb>)


Cette méthode permet le fonctionnement des requête en mode design car le code d'initialisation du projet est exécuté avant la requête.

Contribution le : 26/07/2004 20:14
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
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