Nested loop join: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
+W |
mNessun oggetto della modifica |
||
Riga 5:
Supponendo R esterna e S interna l’algoritmo per ogni tupla di R, che verifica le eventuali altre condizioni su R, accede a S ricercando tutte le tuple di S che soddisfano tutte le eventuali altre condizioni su S e che possono concatenarsi con le tuple di R.
Possiamo schematizzare questo comportamento con
For each tuple r in R do▼
<code>
▲ For each tuple r in R do
For each tuple s in S do
If r and s satisfy the join condition
Then output the tuple <r,s>
</code>
=== Valutazione dei costi ===
Dato che l’algoritmo NLJ passa le righe dal ciclo esterno a quello interno una alla volta, tipicamente le tabelle elaborate nel ciclo più interno vengono lette molte volte.
Il costo di esecuzione è espresso come:
:C(R) x TR x C(S)
dove:
:C(R) è il costo di accesso a R
:TR è il numero atteso di tuple residue di R
:C(S) è il costo di accesso a
=== Varianti ===
|