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:
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:
Citation:
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
Citation:
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!!!!!!!!!!!!!????? :calim2:
aussi la rapidité d'exécution est différente :aie: même sans order by ,avec la table maître (DOSSIER) soit la première est plus rapide
[Edit]
mais le trie marche avec:
Citation:
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
:aie: