Bonjour,
J'ai un soucis de jointure entre une table proxy et une table locale.
Voici la définition de ma table proxy sur le serveur distant :
TABLE_PROXY(id_TP,id_T,champ1,champ2)
-> index unique IDX1(id_TP)
-> index IDX2(id_T)
Cette table à une volumétrie d'environ 2000000 de lignes
Voici la définition de ma table locale :
TABLE(id_T,champ3,champ4)
-> index unique IDX1(id_T)
Cette table à une volumétrie d'une dizaine de lignes.
Maintenant, je fais ceci :
La réponse est instantanée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part SELECT * FROM TABLE_PROXY WHERE id_T=3432
Mais quand je fais la jointure avec ma table locale :
La requête dure trois plombes alors que si ma table proxy est copiée en locale, la réponse est instantanée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 SELECT * FROM TABLE_PROXY A WHERE EXISTS (SELECT null FROM TABLE B WHERE A.id_T=B.id_T)
Si quelqu'un pourrait me dire ce qui se passe exactement... Car même en forçant les indexes avec une jointure entre les deux tables, j'ai ce soucis de lenteur (requête qui mets à peu près 2 heures).
Merci
NB : pour ceux qui me proposent de récupérer la table distante en locale, laissez tomber l'idée car le but est de comparer la même table entre les deux serveurs pour connaitre les différences.
NB2 : si vous avez un bon site avec des exemples sur ce genre de manip, ça m'intéresse.
NB3 : si tu es blonde à forte poitrine.... non je déconne !
Partager