ATOUTFOX
COMMUNAUTÉ FRANCOPHONE DES PROFESSIONNELS FOXPRO
Visual FoxPro : le développement durable

Forum AtoutFox : Re: SELECT ... Join vs In ()   

Sujet

rss Flux RSS des derniers messages

Vous devez vous identifier pour pouvoir poser une question ou répondre.

jeu. 07 janvier 2016, 10h04
Jean-Claude Rivi=c3=a8re
atoutfox.public.association

Re: SELECT ... Join vs In ()

Salut Thierry,

En théorie, la clause from étant normalement résolue avant le where, ce
serait plutôt la solution 1 la meilleure.
Tu peux gagner quelques pouillèmes si tu utilises une jointure interne
en mettant la condition dans la jointure (attention si jointure externe,
les résultats peuvent être différents) :
select ...
from enfant
join parent on enfant.FK = parent.PK and parent.condition
where autresconditions

Cordialement,

JCR


Le 07/01/2016 08:18, FoxInCloud a écrit :
> Bonjour,
>
> Pour filtrer une table selon des conditions portant sur des tables liées (parentes), vaut-il mieux utiliser :
&& 1
select ... from enfant join parent on enfant.FK = parent.PK where someCondition(parent)

> ou
&& 2
select ... from enfant where enfant.FK in (select PK from parent where someCondition(parent))

>
> Rushmore ferait plutôt pencher pour (1) -- index sur les 2 membres de la jointure : enfant.FK et parent.PK -- mais d'expérience il m'a semblé que IN () était souvent plus rapide.
>
> Un avis, une expérience ?
>
> Différences éventuelles entre VFP et les autres SGDBR ?
>
>
Permalink : http://www.atoutfox.org/nntp.asp?ID=0000017089
20 088 messages dans le forum • Liste complète des messages

Publicité

Les pubs en cours :

www.atoutfox.org - Site de la Communauté Francophone des Professionnels FoxPro - v3.4.0 - © 2004-2024.
Cette page est générée par un composant COM+ développé en Visual FoxPro 9.0-SP2-HF3