Nested loop join: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Errori di Lint: Tag annidati male |
m Bot: correzione andate a capo e spazi |
||
(2 versioni intermedie di un altro utente non mostrate) | |||
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
Riga 12 ⟶ 11:
Then output the tuple <r,s>
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:
Riga 21 ⟶ 20:
:C(S) è il costo di accesso a S
Esiste un algoritmo di join, chiamato ''[[block nested loop join]]'', che si differenzia da quello di nested-loop poiché i dati vengono salvati in memoria per ridurre il numero di volte che S viene scansionata.
== Bibliografia ==
* Paolo Ciaccia, Dario Mario, Lezioni di basi di dati, 2013, Editrice Esculapio, ISBN 978-8874887187
* [
{{Portale|informatica|ingegneria}}
|