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

Langage SQL Discussion :

Pallier une tres grande volumétrie


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 97
    Points : 53
    Points
    53
    Par défaut Pallier une tres grande volumétrie
    bonjour,
    je travaille sur une base de données de tres grande taille, et dans une de mes requêtes sql je dois compter le nombre d'enregistrements qui ont des attibuts similaires, j'ai essayé de le faire avec un count mais cela necessite enormemetn de temps, et meme que la connexion est gelée avent la fin (j'ai des dizaines de millions de lignes a parcourir), je voudrais savoir s'il y a un autre moyen pour contourner le count, avec d'autre languageex. PL/Sql ou autre?

  2. #2
    Membre éprouvé Avatar de Mathusalem
    Profil pro
    IT moa
    Inscrit en
    Décembre 2003
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : IT moa

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 008
    Points : 1 067
    Points
    1 067
    Par défaut
    tu n'as pas oublié le group by par hasard ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 97
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par Mathusalem
    tu n'as pas oublié le group by par hasard ?
    non je ne l'ai pas oublié, la requete tourne mais elle necesite enormement de temps, donc moi je veux trouver une autre façon de proceder pour limiter le temps d'execution!

  4. #4
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Tu as vérifié si la mise en place d'index sur les attributs étudiés améliorait les perfs de ta requête count ?

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 97
    Points : 53
    Points
    53
    Par défaut
    Citation Envoyé par vmolines
    Tu as vérifié si la mise en place d'index sur les attributs étudiés améliorait les perfs de ta requête count ?
    effectivement il existe des indexs sur certains attributs du cunt mais pas tous, est ce que les indexs sont pris en compte directement lors de l'execution de la requete ou il faut le preciser? (mais j'ai pas le droit suffisant pour créer de nouveaux index!!)

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 683
    Points : 2 579
    Points
    2 579
    Par défaut
    Les indexes peuvent etre utilisés sur les éléments figurant dans la clause group by selon le SGBD et le group by demandé.

    Il faut savoir qu'un group by revient à faire un tri. Ainsi pour bénéficier de l'utilisation d'un index sur une clause group by multi champs, il faut qu'un index multi champs correspondant existe.

    Exemple :
    group by Rubrique1, Rubrique2, Rubrique3
    nécessite un index comprenant ces 3 champs.

    L'implémentation des sgbd peut différer, il faut donc s'en assurer en lisant la documentation spécifique.


    D'autre part, lors de la mise au point de requête qui pose des problèmes de performance, il est judicieux d'analyser le plan d'execution. Les sgbd mettent à disposition une instruction pour l'afficher. Ainsi on peut visualiser les opérations effectuées par le moteur pour résoudre la demande (lecture d'index, tri dans table temporaire, ...) et déterminer les éventuels goulets d'étranglement.


    Et je n'ai pas pris la peine de le mentionner mais utiliser une autre méthode comme vous l'avez suggéré (pl/sql) ne résoudra pas le problème de performance.

Discussions similaires

  1. Gestion d'une grande volumétrie de données
    Par benf35 dans le forum ALM
    Réponses: 7
    Dernier message: 08/05/2015, 14h38
  2. [XL-2003] interdire une tres grande plage de cellule d'etre vide
    Par sharox dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 30/10/2014, 20h58
  3. [AC-2007] Creation d'une tres grande base de données - solution viable ?
    Par bigfoot75 dans le forum Modélisation
    Réponses: 4
    Dernier message: 11/03/2010, 21h18
  4. decalage à gauche sur une tres grand tableau de char
    Par petitours dans le forum C++Builder
    Réponses: 10
    Dernier message: 14/07/2005, 22h40
  5. plusieurs petite tables ou une seule grande table
    Par aaronw dans le forum Décisions SGBD
    Réponses: 8
    Dernier message: 19/05/2005, 09h22

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