IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)

Vous �tes nouveau sur Developpez.com ? Cr�ez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et �tre connect� pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Cr�ez-en un en quelques instants, c'est enti�rement gratuit !

Si vous disposez d�j� d'un compte et qu'il est bien activ�, connectez-vous � l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oubli� ?
Cr�er un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les fonctions Hlit et SQL dans l'EDi WinDEV
�valuation des temps de r�ponse

Le , par dsr57

0PARTAGES

Ce billet traite des temps de r�ponses des fonctions Hlit et SQL dans l'EDi WinDEV


Nous cherchons tous � avoir une application la plus r�active possible, mais cela arrive d'avoir des latences, les causes de celles-ci peuvent �tre vari�es :
  • d�faut de conception algorithmique
  • d�faut de conception de la base de donn�es
  • �change avec la base de donn�es
  • lenteur r�seau
  • ...


Dans ce billet, je vais traiter les �changes avec la base de donn�es. WinDev nous donne la possibilit� de nous connecter � une base par diff�rentes m�thodes.
  • ODBC
  • Ole DB
  • Acc�s natif


Apr�s le choix de la m�thode de connexion, nous avons le choix entre deux types de fonctions Hlit ou SQL, mais je me suis souvent pos� la question
"Quelle est la diff�rence entre les fonctions Hlitxxx et SQLxxx ? "

En r�ponse � celle-ci je n�attends pas les diff�rences de syntaxe et de parcours, mais des informations sur les temps de r�ponse. Au vu de mes recherches sur le Web, je ne suis pas le seul � chercher cette information, c'est pour cette raison que j'ai effectu� un petit comparatif.

Contexte Technique

WinDev : Version 19
SGBD : SQL Server 2005
Acc�s natif : oui
R�seau : Base de donn�es stock�e sur une VM

Jeu de tests

Deux jeux de tests sont mis en place
  • Requ�te de type SELECT sur 1 table s�lectionnant 7 colonnes et 1 condition dans la clause WHERE sur un champ index�,
  • Requ�te de type SELECT sur 3 tables s�lectionnant 4 colonnes, jointure entre les tables effectu�es avec la clause INNER JOIN et une condition dans la clause WHERE sur un champ index�


Nombre de r�sultats des requ�tes : 49500.


Premier jeu de tests : r�sultat

Le jeu de test comprend 4 sc�narios :

  1. connexion effectu�e avec la fonction HouvreConnexion, requ�te ex�cut�e avec la fonction HExecuteRequeteSql, nom de la requ�te dans variable de type chaine.
  2. connexion effectu�e avec la fonction HouvreConnexion, requ�te ex�cut�e avec la fonction HExecuteRequeteSql, nom de la requ�te dans variable de source de donn�es.
  3. connexion effectu�e avec la fonction SQLConnecte, requ�te ex�cut�e avec la fonction SqlExec, parcours effectu� avec les fonctions SqlPremier, Sql.endehors et SqlSuivant
  4. connexion effectu�e avec la fonction SQLConnecte, requ�te ex�cut�e avec la fonction SqlExec, parcours effectu� avec la fonction SqlAvance.


R�sultats (moyenne des valeurs sur 25 ex�cutions) :

  1. 5,48 secondes
  2. 4,36 secondes
  3. 5,44 secondes
  4. 3,80 secondes


Deuxi�me jeu de tests : r�sultat

Le jeu de test comprend 3 sc�narios :

  1. connexion effectu�e avec la fonction HouvreConnexion, requ�te ex�cut�e avec la fonction HExecuteRequeteSql, nom de la requ�te dans variable de type chaine.
  2. connexion effectu�e avec la fonction HouvreConnexion, requ�te ex�cut�e avec la fonction HExecuteRequeteSql, nom de la requ�te dans variable de source de donn�es.
  3. connexion effectu�e avec la fonction SQLConnecte, requ�te ex�cut�e avec la fonction SqlExec, parcours effectu� avec la fonction SqlAvance.


R�sultats (moyenne sur 10 ex�cutions) :

  1. 14,01 secondes
  2. 13,58 secondes
  3. 4,23 secondes


Information : Dans les sc�narios 1 et 2, les fonctions HEx�cuteRequeteSql, HlitPremier, Hlitsuivant, ont �t� appel�es avec des options pour optimiser le temps de traitements.

Bon dev � tous
Vous avez lu gratuitement 1 articles depuis plus d'un an.
Soutenez le club developpez.com en souscrivant un abonnement pour que nous puissions continuer � vous proposer des publications.

Une erreur dans cette actualit� ? Signalez-nous-la !