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

MFC Discussion :

[mfc][ado][access] Temps de chargement très très long


Sujet :

MFC

  1. #1
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 109
    Points : 49
    Points
    49
    Par défaut [mfc][ado][access] Temps de chargement très très long
    Bonjour,

    Je développe une application en C++/MFC et je dois effectuer des recherches sur une base de données access, pour cela, j'utilise ADO (la librairie ADOLib)
    Le problème, c'est que je dois faire des comparaison entre les données d'un fichier texte et la base de données, et pour cela, je compare chaque ligne du fichier texte à toute la base.
    Je fais une boucle while dans laquelle j'effectue les comparaison : chaque passage dans la boucle lit toute la base et il y a entre 1000 et 10000 passages (c'est variable) pour un fichier de 1000 lignes.
    Pour un fichier de 1000 lignes, c'est tellement long que ça plante.
    Pour un fichier de quelques lignes, ça mets quelques dizaines de secondes.

    Est-ce normal que quelques milliers de lecture d'une base de données access prenne autant de temps ?

    Par ailleurs, je dois aussi écrire les 1000 lignes dans une base de données, et là, ça met quelques dizaines de secondes, ce que je trouve assez long.

  2. #2
    Débutant
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Points : 324
    Points
    324
    Par défaut
    salut

    effectivement ca me parrait un peu long tu ne reouvre pas à chaque fois une connexion ?
    Tu execute uniquement ta requete avec a chaque fois un requete.close() ???

    vois si tu ne pe pas liberer de la memoire a chaque execution
    ca pourrais peu etre arranger ton soucis.


  3. #3
    Membre du Club
    Inscrit en
    Avril 2006
    Messages
    109
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 109
    Points : 49
    Points
    49
    Par défaut
    je n'ouvre qu'une seule connexion et effectuer la même requête entre 1000 et 10000 fois

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    CString requete;
    requete = "Select ...";
    mySel->Open(myConn->ADOConn, requete);
     
    while (condition du traitement 2)
    {
          while (mySel->Fetch()) // je lis toute la base
         {
         traitement 1 ...
         }
         mySel->MoveFirst(); // pour revenir au début
     
         traitement 2 ...
    }
     
    mySel->Close();

  4. #4
    Débutant
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Janvier 2004
    Messages
    452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 452
    Points : 324
    Points
    324
    Par défaut
    mouai c'est bizarre perso j'utilise mySql et d'apres les dires sur le forum ACCESS
    c'est pas top question rapidité

    met des AfxMessageBox un peu partout pour trouver d'ou provien le ralentissement si c'est au niveau de l'execution de ta requete ou au niveau de tes traitement

Discussions similaires

  1. BDD sur réseau très très très lent...
    Par ericain dans le forum Access
    Réponses: 12
    Dernier message: 20/02/2015, 17h17
  2. Améliorer les performances - très (très) (très) grands datasets
    Par debdev dans le forum Administration et Installation
    Réponses: 6
    Dernier message: 08/01/2010, 16h46
  3. Temps de chargement fichiers aléatoirement longs
    Par kmchen dans le forum Eclipse PHP
    Réponses: 5
    Dernier message: 07/07/2009, 10h10
  4. Démarrage trés, trés, trés difficile
    Par Cazaux-Moutou-Philippe dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 29/06/2008, 10h45
  5. [MFC][ADO][ACCESS] temps de chargement très très long
    Par julien.nasser dans le forum Access
    Réponses: 2
    Dernier message: 12/05/2006, 15h34

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