Bonjour,
j'ai deux tables (RESEAU et LOCAL), avec pour l'une 530 000 enregistrements et l'autre 340 000.
je construis une requête sous access directement dans le requêteur, en créant deux liaisons dynamiques entre deux champs.
je passe un champ (REF) en paramètre dans la table 2.
ce qui donne dans le FROM et le WHERE :
L'exécution s'effectue en 3 secondes et sort correctement les résultats attendus..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 FROM [LOCAL] INNER JOIN RESEAU ON (LOCAL.[COMPTE] = RESEAU.[COMPTE]) AND (LOCAL.[TOTAL]= RESEAU.[TOTAL]) WHERE (((LOCAL.[REF])="donnee"))
la même requête sous Firebird avec création de deux index sur les champs COMPTE et TOTAL de la table2 (pour accélérer d'autres requêtes..) et une clé primaire incrémentale sur chacune des tables (non utilisée dans les requêtes..)
met 130 secondes pour sortir les données !
j'ai essayé pas mal de trucs : suppression des index, backup, restore etc..
rien à faire, toutes les autres requêtes fonctionnent bien sauf celle-ci.
??
merci pour votre aide
Partager