Nested loop join: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: Correzione di uno o più errori comuni |
m Bot: correzione andate a capo e spazi |
||
(7 versioni intermedie di 6 utenti non mostrate) | |||
Riga 1:
{{W|informatica|marzo 2015}}
Questo algoritmo legge righe dalla prima tabella una per volta in un ciclo, passando ogni riga al ciclo nidificato che elabora la tabella successiva nel join. Questo processo viene ripetuto per ogni tabella coinvolta nel join.
Supponendo R esterna e S interna
Possiamo schematizzare questo comportamento con
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>
Dato che
Il costo di esecuzione è espresso come:
:C(R)
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 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
* [
▲* Paolo Ciaccia, Dario Mario, Lezioni di basi di dati, 2013, Editrice Esculapio, ISBN-13: 978-8874887187
▲* [http://dev.mysql.com/doc/refman/5.6/en/nested-loop-joins.html Nested-Loop Joins] in the MySQL 5.6 Reference Manual.
{{Portale|informatica|ingegneria}}
[[Categoria:Terminologia informatica]]
[[Categoria:Teoria delle basi di dati]]
|