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 :

Optimisation de requete


Sujet :

SQL Firebird

  1. #1
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 275
    Points : 185
    Points
    185
    Par défaut Optimisation de requete
    Bonjour,

    Je migre une base Oracle 7.3.1 en InterBase 6.
    J'aimerai savoir laquelle des requetes est la plus adaptée ou optimisée pour le moteur d'InterBase.
    C'est ma premiére utilisaton d'InterBase.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Select DISTINCT DOS_CODE, DOS_MAINTENEUR, DOS_INITIATEUR, DOS_PROCODE, per_code,
    A.PER_NOM||' '||A.PER_PRENOM MAINTENEUR, B.PER_NOM||' '||B.PER_PRENOM INITIATEUR 
    From dossier, personne A,  personne B
    where DOS_MAINTENEUR = A.PER_CODE
    And DOS_INITIATEUR = B.PER_CODE

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SELECT DISTINCT dossier.DOS_CODE, dossier.DOS_MAINTENEUR, dossier.DOS_INITIATEUR, dossier.DOS_PROCODE,personne.per_code,
    personne.PER_NOM||' '||personne.PER_PRENOM MAINTENEUR ,personne.PER_NOM||' '||personne.PER_PRENOM INITIATEUR
    FROM dossier INNER JOIN personne ON (personne.per_code  = dossier.dos_MAINTENEUR)
    INNER JOIN personne ON (personne.per_code  = dossier.dos_INITIATEUR)
    Merci d'avance

    Cyril

  2. #2
    Membre du Club
    Inscrit en
    Mars 2003
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 44
    Points : 49
    Points
    49
    Par défaut
    sauf erreur, la 2eme. il me semble que ça fonctionne ainsi, mais je peux fort bien me planter :
    la 1ere récupere toutes les lignes en faisant le produit des 2 tables avant de réduire uniquement aux lignes pertinentes. donc 2 tables de 1000 lignes -> on passe par un stade ou on a 1000000 de lignes
    la 2eme ne récupere que les lignes pertinentes pour les join, avant de réduire si besoin pour la clause where.

    maintenant, au dela de toute considération de rapidité, l'utilisation de join est conseillée pour une meilleure clarté de tes requetes (différenciation entre ce qui rend les données pertinentes et ce qui réduit le jeu de données uniquement aux données demandées)...

  3. #3
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    D'un point de vue optimisation je ne suis pas certain qu'il y ait une différence significative (s'il y en a une je pense quelle est petite et en faveur de la 2eme).

    Maintenant il est certain que la 2em est plus claire et surtout respecte la norme SQL.

    Donc utiliser la 2eme représentation en prioritée.

  4. #4
    Membre habitué
    Inscrit en
    Mai 2002
    Messages
    275
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 275
    Points : 185
    Points
    185
    Par défaut
    Re

    Merci de vos conseils.

    Maintenant j'ai pas mal de requetes à réécrire.

    A+
    Cyril

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

Discussions similaires

  1. AIdez moi à optimiser cette requete MySQL SVP
    Par petozak dans le forum Langage SQL
    Réponses: 4
    Dernier message: 13/09/2005, 15h16
  2. Optimisation de requete
    Par Scorff dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 11/07/2005, 09h59
  3. [sgbd]Optimisation des requetes Oracle/Perl
    Par linou dans le forum SGBD
    Réponses: 7
    Dernier message: 30/06/2005, 18h09
  4. Optimiser une Requetes SQL sous ASP
    Par NeHuS dans le forum ASP
    Réponses: 8
    Dernier message: 18/04/2005, 16h26
  5. Optimisation des requetes
    Par bifidus dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/10/2003, 11h29

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