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 :

quelque note sur firebird


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut quelque note sur firebird
    salut tout le monde, j'utilise FB 1.5
    selon la faq firebird, exists est plus rapide que in, mais le contraire est vrais, bien sûr avec mes condition , la recherche est selon un champs FK entre 2 table,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT DATE_OUVERTURE,REF_CABINET,CVILLE,POLICE AS n_abonnement,VICTIME AS ex_abonne,Montant 
                       from DOSSIERS A where                     
                    REF_CABINET IN  (SELECT FIRST 1 REF_CABINET FROM  TAXETELECOM D WHERE  A.REF_CABINET=D.REF_CABINET  and D.IDNATURE =36)
    la table TAXETELECOM à plus de 160000 ligne

    autre chose, il y a une différence entre:
    SELECT A.Observe AS REMARQUE,A.MONTANT,A.REF_CABINET AS REF ,A.REF_TRIBUNAL,
    B.IMMATRI AS IMMATRICULATION,B.POLICE,B.ASS,B.date_acc ,A.DATE_AUDIENCE AS Jugement
    FROM DOSSIERS B
    JOIN AUDIENCES A
    ON B.REF_CABINET=A.REF_CABINET
    Order by A.REF_CABINET,A.DATE_AUDIENCE
    et
    SELECT A.Observe AS REMARQUE,A.MONTANT,A.REF_CABINET AS REF ,A.REF_TRIBUNAL,
    B.IMMATRI AS IMMATRICULATION,B.POLICE,B.ASS,B.date_acc ,A.DATE_AUDIENCE AS Jugement
    FROM AUDIENCES A
    JOIN DOSSIERS B
    ON B.REF_CABINET=A.REF_CABINET
    Order by A.REF_CABINET,A.DATE_AUDIENCE
    si si, l'ordre de trie dans la premiére requête ce fait seulement sur A.REF_CABINET!!!!!!!!!!!!!?????

    aussi la rapidité d'exécution est différente même sans order by ,avec la table maître (DOSSIER) soit la première est plus rapide

    [Edit]
    mais le trie marche avec:
    SELECT A.Observe AS REMARQUE,A.MONTANT,A.REF_CABINET AS REF ,A.REF_TRIBUNAL,
    B.IMMATRI AS IMMATRICULATION,B.POLICE,B.ASS,B.date_acc ,A.DATE_AUDIENCE AS Jugement
    FROM DOSSIERS B JOIN AUDIENCES A ON B.REF_CABINET=A.REF_CABINET
    Order by B.REF_CABINET,A.DATE_AUDIENCE

  2. #2
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    pas de commentaire????????

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

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 052
    Par défaut
    Si si :

    - Firebird 1.5 n'est plus maintenu et votre raisonnement ne marche probablement plus avec FB 2.x car de nombreuses améliorations et correction de bugs ont étés apportée depuis.

    - De plus si vous voulez faire des remarques sur les performances il serait bon de donner la structure, et les index de vos tables, la population (nombre de ligne) des 2 tables etc.

    Par curiosité, j ai créé 2 tables sous FB2.1 : Dossiers avec 60 000 enregistrements et TAXETELECOM avec 160 000 enregistrements, une FK sur DOSSIERS.Ref_cabinet et un index sur TAXETELECOM(ref_cabinet, idnature).

    La requete avec le Exists me donne 313ms alors qu'avec IN 328ms soit environ 5% plus lent.

Discussions similaires

  1. Quelques questions sur la mémoire
    Par Gruik dans le forum C
    Réponses: 6
    Dernier message: 17/11/2004, 14h38
  2. Quelques question sur Win 32 Appli
    Par lvdnono dans le forum Windows
    Réponses: 5
    Dernier message: 15/06/2004, 12h37
  3. Requete imbriquée sur Firebird ou Interbase
    Par Thib dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/03/2004, 09h00
  4. Quelques questions sur le TWebBrowser...
    Par CorO dans le forum Web & réseau
    Réponses: 3
    Dernier message: 17/01/2003, 21h23

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