Ciao a tutti,

ho 2 tabelle in relazione Master/Detail.

Movimenti (9229 records)
MovimentiDetail (29558 records)

ho questa query che viene eseguita in molto tempo (circa 10minuti)

codice:
select 
movimentidetail.id
from movimentidetail 
where movimentidetail.idmovimenti in 
( 
select distinct 
movimenti.idassociato 
from movimenti 
)
cercando suggerimenti in rete la ho poi midificata cosi:

codice:
 	select
movimentidetail.id
from movimentidetail
inner join movimenti on (movimenti.id=movimentidetail.idassociato)




il risultato inteso come dati è lo stesso, ma la seconda è veloce!!! impiega circa 1 secondo.

c'e' qualcosa che non mi è chiaro...perche la prima query risulta cosi lenta?

premesso che il risultato di
select distinct
movimenti.idassociato
from movimenti
e molto veloce....

forse SQL la esegue per ogni record della tabella MovimentiDetail prima di includere/esclidere il record nel dataresult?

qualcuno mi sa spiegare perfavore?

grazie