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

SQL Firebird Discussion :

Amelioration de requete


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Par défaut Amelioration de requete
    J'ai une requete un peu "lourde" qui met du temps a s'executer et je voulais savoir si yavais pas un moyen de la faire autrement pour quelle soit plus rapide

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT * FROM GB_SUIVI WHERE 
    CODEPRODUIT='SCRAP' and SVERSION='2008' and CODENATURE='CDIP' and SDATE<> '01/01/0001' 
    and IDCLIENT in
    (SELECT IDCLIENT FROM GB_SUIVI WHERE 
    CODEPRODUIT='SCRAP' and SVERSION='1.0' and CODENATURE='TELEC' and SDATE<> '01/01/0001' )

    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    et :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    SELECT A.* FROM GB_SUIVI A 
    INNER JOIN GB_SUIVI B ON  A.IDCLIENT=B.IDCLIENT
    WHERE 
    A.CODEPRODUIT='SCRAP' AND A.SVERSION='2008' AND A.CODENATURE='CDIP' AND A.SDATE<> '01/01/0001' 
    AND 
    B.CODEPRODUIT='SCRAP' AND B.SVERSION='1.0' AND B.CODENATURE='TELEC' AND B.SDATE<> '01/01/0001'
    c'est pas mieux ?

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2006
    Messages : 80
    Par défaut
    C'est quoi la clé primaire et les index de GB_SUIVI ?

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Par défaut
    Desolé de repondre si tard mais j'ai du m'occupper d'un projet plus urgent.

    Les indexes de GB_SUIVI sont CODEPRODUIT, CODENATURE, SVERSION

    ID INTEGER
    IDCLIENT INTEGER
    CODEPRODUIT VARCHAR(12)
    CODENATURE VARCHAR(5)
    SVERSION VARCHAR(10)
    SDATE TIMESTAMP
    NOTE VARCHAR(200)

    Y'a pas de clef primaire de definit.

    La requete de makowski est un peu plus longue a s'executer (Statistic IBConsole)
    execution 00:00:20.0906
    Starting Memory 764848
    Current Memory 764660
    Delta Memory -188
    Number of buffer 0
    Reads 8
    Writes 0
    contre
    execution 00:00:07.0984
    Starting Memory 656180
    Current Memory 714712
    Delta Memory 58532
    Number of buffer 0
    Reads 423
    Writes 1
    pour la mienne.
    Je sais pas trop ce que ca veux dire tous ces trucs^^

  5. #5
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    pas clé primaire ?????
    c'est la base toute table doit avoir une clé primaire

    c'est quoi le plan des deux requetes ?

  6. #6
    Membre confirmé
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Par défaut
    voici les plans:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Statement: SELECT * FROM GB_SUIVI WHERE
    CODEPRODUIT='SCRAP' AND SVERSION='2008' AND CODENATURE='CDIP' AND SDATE<> '01/01/0001'
    AND IDCLIENT IN
    (SELECT IDCLIENT FROM GB_SUIVI WHERE
    CODEPRODUIT='SCRAP' AND SVERSION='1.0' AND CODENATURE='TELEC' AND SDATE<> '01/01/0001' )
     
    PLAN (GB_SUIVI INDEX (IDXGBSUIVXALL))
    PLAN (GB_SUIVI INDEX (IDXGBSUIVXALL))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Statement: SELECT A.* FROM GB_SUIVI A
    INNER JOIN GB_SUIVI B ON  A.IDCLIENT=B.IDCLIENT
    WHERE
    A.CODEPRODUIT='SCRAP' AND A.SVERSION='2008' AND A.CODENATURE='CDIP' AND A.SDATE<> '01/01/0001'
    AND
    B.CODEPRODUIT='SCRAP' AND B.SVERSION='1.0' AND B.CODENATURE='TELEC' AND B.SDATE<> '01/01/0001'
     
    PLAN JOIN (A INDEX (IDXGBSUIVXALL),B INDEX (IDXGBSUIVXALL))
    Je peux avoir un ptite explication de ce que ca veux dire tout ca parceque je comprend pas trop^^

    Pour ma defense c'est pas moi qui ai créé les tables et mon IBConsole bug a chaque fois que je veux faire un truc sur les tables donc j'arrive pas a mettre de clé primaire...

    [edit] : je suis allé faire un tit tour dans la BD : 51 tables et seulement 16 qui ont une cle primaire

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

Discussions similaires

  1. [PDO] amelioration d'une requete
    Par arckaniann dans le forum PHP & Base de données
    Réponses: 16
    Dernier message: 16/12/2013, 19h35
  2. [AC-2007] Amelioration de la requete
    Par Steph0 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 20/01/2011, 08h35
  3. Amelioration de requete
    Par xian21 dans le forum Requêtes
    Réponses: 5
    Dernier message: 08/01/2009, 11h20
  4. [MySQL] Amélioration Requête SQL
    Par Biboune2006 dans le forum Langage SQL
    Réponses: 6
    Dernier message: 28/07/2006, 15h27

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