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 :

[WinDev 9] Grosse Table de 28 millions d'enregistrements


Sujet :

WinDev

  1. #1
    Membre actif
    Homme Profil pro
    Chef de produit
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de produit

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Points : 246
    Points
    246
    Par défaut [WinDev 9] Grosse Table de 28 millions d'enregistrements
    Bonjour,
    voilà j'ai un problème.

    Je travaille sur une table de 28 M d'enregistrements.
    A chaque fois, je suis obligé de chercher des critères - je les ai sur une table de 1550 enregistrements - sur cette grosse table.
    Et le parcours se fait en 20 min.
    Donc je dois faire ce parcours 1550 *20 min = 31000 MIN c'est trop !!
    J'ai essayé d'utiliser l'optimiseur pour calculer les statistiques et Cie. Mais ça n'a pas donné de résultat.

    Merci pour votre aide.

  2. #2
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Bonjour,
    quand tu dis "parcours" est-ce en utilisant les fonction hlitrecherchepremier, h...suivant etc ou est-ce en faisant des requêtes sql ? Merci d'également préciser la version de Windev.

  3. #3
    Membre actif
    Homme Profil pro
    Chef de produit
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de produit

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Points : 246
    Points
    246
    Par défaut
    en fait j'utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    hlitpremier(grosstable)
    Tantque pas hendehors(grosstable)
      //traitement
      hlitsuivant(gossetable)
    fin
    et j'utilise Windev9

  4. #4
    Membre habitué Avatar de petit arbre
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Points : 153
    Points
    153
    Par défaut
    Bonjour,

    D'après ton code, tu fais une lecture séquentielle d'une grosse table à chaque fois. Il y a sans doute quelque chose à optimiser à ce niveau là.

    Par exemple, créer des indexs de recherche (éventuellement en clé composée) pour accélérer les extractions.

    Peut-on avoir une idée des critéres de recherche?

  5. #5
    Membre actif
    Homme Profil pro
    Chef de produit
    Inscrit en
    Mai 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chef de produit

    Informations forums :
    Inscription : Mai 2006
    Messages : 164
    Points : 246
    Points
    246
    Par défaut
    ce qui concerne les critères c'est des critères sous de forme de nombre. donc j'ai une table qui contient 1550 critères. pour chaque critères(ensemble de nombres) je dois le chercher sur la grosse table.
    j'espère que j'etais un peu clair.
    merci

  6. #6
    Membre confirmé Avatar de Christophe Charron
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    920
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 920
    Points : 606
    Points
    606
    Par défaut
    Citation Envoyé par yaboki
    en fait j'utilise
    hlitpremier(grosstable)
    Tantque pas hendehors(grosstable)
    //traitement
    hlitsuivant(gossetable)
    fin

    et j'utilise Windev9
    Peux-tu un peu préciser comment tu fais ton traitement et comment sont liées les 2 tables ?

  7. #7
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    C'est clair que ce code ne peux pas marcher sur des tables aussi grosse.

    Idée -> Voir les vues.

    De toutes façon il ne faut pas se leurrer lire 28 millions d'enregistrement a la queue comme cela ca ne se fera jamais 'rapidemment' il faudrait que tu nous précises ton environnement de travail...

    Avec un bon beau gros bi-xeon ou une machine super puissante c'est jouable sinon ca risque d'etre aussi long qu'un serveur météo...

  8. #8
    Membre habitué Avatar de petit arbre
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Points : 153
    Points
    153
    Par défaut
    Je suis d'accord avec toi hegros, au vu du volume, il faut agir en conséquence :
    peut être construire une table d'agrégats la nuit (hors production) sur laquelle travailler ensuite en journée...

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    Parcourir une telle base est trés long donc il faut trouver une autre solution
    je vous recommande les requetes , c'est plus rapide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 14/09/2012, 21h21
  2. Update trés lent sur une grosse table
    Par neo.51 dans le forum Oracle
    Réponses: 21
    Dernier message: 14/12/2005, 12h06
  3. [Oracle] Mieux vaut une grosse table ou plein de petite ?
    Par ShinJava dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 30/11/2005, 17h32
  4. left join multiple sur grosses tables
    Par hn2k5 dans le forum Requêtes
    Réponses: 6
    Dernier message: 30/11/2005, 17h10
  5. [Strategie]Pb recup données grosse table
    Par zach dans le forum JDBC
    Réponses: 32
    Dernier message: 28/01/2005, 16h08

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