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,
la table TAXETELECOM à plus de 160000 ligne
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)
autre chose, il y a une différence entre:
etSELECT 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
si si, l'ordre de trie dans la premiére requête ce fait seulement sur A.REF_CABINET!!!!!!!!!!!!!?????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
aussi la rapidité d'exécution est différentemê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![]()
Partager