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

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Lenteur de FichierVersTableau()


Sujet :

WinDev

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Août 2009
    Messages : 97
    Points : 59
    Points
    59
    Par défaut Lenteur de FichierVersTableau()
    Bonjour,

    J'ai actuellement une classe avec une méthode qui me permet de remplir automatiquement une structure que je passe en paramètre avec une requête SQL (MySQL).
    J'ai un traitement qui doit lancer plus d'une centaine de requêtes et j'ai observé la chose suivante grâce aux chrono :

    Mon HExecuteRequeteSQL() met environ 20 ms à se réaliser et le FichierVersTableau() le même temps.
    Cela dit, 20 ms multiplié par le nombre de requêtes à exécuter, le temps devient vite conséquent.

    J'ai regardé pour réduire mon nombre de requêtes mais le traitement est lourd et je n'ai pas vraiment la possibilité.

    Y aurait-il un moyen plus rapide que le FichierVersTableau() ?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Responsable Données
    Inscrit en
    Janvier 2009
    Messages
    5 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable Données

    Informations forums :
    Inscription : Janvier 2009
    Messages : 5 198
    Points : 12 774
    Points
    12 774
    Par défaut
    Bonjour,

    Une centaine de requête ça me parait beaucoup.
    Dans certains cas il est possible de regrouper des requêtes, par exemple en passant par des vues dans la base, ou en récupérant les données "par lot".
    Par exemple pour traiter des clients, au lieu de récupérer les données client par client, on peut regrouper les codes client à traiter et lancer une requête par lot de code client (avec un IN).

    Mais sans voir le traitement en question il est difficile d'en dire plus.

    Tatayo.

  3. #3
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Bonjour,

    Je plussoie tatayo. Si tu fais 20 requêtes (une par client), ça sera plus long qu'une seule avec les id des 20 clients.

    Sans compter que généralement les accès BDD via le web sont plus longs qu'en local.
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  4. #4
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2003
    Messages
    942
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2003
    Messages : 942
    Points : 1 933
    Points
    1 933
    Par défaut
    Citation Envoyé par matheous Voir le message
    Bonjour,

    J'ai actuellement une classe avec une méthode qui me permet de remplir automatiquement une structure que je passe en paramètre avec une requête SQL (MySQL).
    J'ai un traitement qui doit lancer plus d'une centaine de requêtes et j'ai observé la chose suivante grâce aux chrono :

    Mon HExecuteRequeteSQL() met environ 20 ms à se réaliser et le FichierVersTableau() le même temps.
    Cela dit, 20 ms multiplié par le nombre de requêtes à exécuter, le temps devient vite conséquent.

    J'ai regardé pour réduire mon nombre de requêtes mais le traitement est lourd et je n'ai pas vraiment la possibilité.

    Y aurait-il un moyen plus rapide que le FichierVersTableau() ?
    Pourquoi tu ne peux pas réduire le nombre de requêtes ?
    Philippe,


    N'hésitez à lever le pouce si mon aide vous a été utile.

Discussions similaires

  1. [LG]Lenteur de parcours de fichier
    Par YéTeeh dans le forum Langage
    Réponses: 9
    Dernier message: 26/11/2003, 22h57
  2. [Débutant] Lenteur avec TComPort
    Par PhDt76 dans le forum C++Builder
    Réponses: 22
    Dernier message: 27/09/2003, 21h43
  3. lenteur d'affichage de requete dans un DBGrid
    Par nico27 dans le forum InterBase
    Réponses: 9
    Dernier message: 23/06/2003, 13h54
  4. [Sybase]probleme de lenteur
    Par MASSAKA dans le forum Sybase
    Réponses: 3
    Dernier message: 19/03/2003, 22h58
  5. Lenteur d'execution de Jbuilder 6
    Par Tsimplice dans le forum JBuilder
    Réponses: 6
    Dernier message: 18/12/2002, 14h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo