>> Tecnologia elettronica >  >> Casa intelligente >> Vita smart

Vantaggi e svantaggi di JOIN vs Sottoquery in SQL

Una sottoquery è una query dentro un'altra query. Può contenere altre sottoquery ("nested"). Un JOIN riferisce due o più tabelle nella clausola FROM. Diversi motori database ottimizzano sottoquery e JOIN differentemente. Es. l'ottimizzatore DB2 trasforma sottoquery in JOIN se certi criteri sono soddisfatti. In alcuni casi, JOIN rende meglio di una sottoquery.

Cosa è una sottoquery

Una sottoquery è uno statement "SELECT" dentro la clausola "WHERE" o "HAVING" di un "INSERT", "UPDATE", "MERGE" o "DELETE" esterno. Chiamata anche "inner query" o "inner select". Può avere clausola "FROM" con una o più tabelle e opzionalmente "WHERE", "GROUP BY" o "HAVING". Sempre racchiusa tra parentesi.

Vantaggi e svantaggi delle sottoquery

Vantaggi: strutturano la query isolando ogni parte, eseguono operazioni che richiederebbero JOIN e UNION complessi, sono più leggibili. Furono la base del nome "Structured Query Language" (SQL) per la loro struttura leggibile. Svantaggio: non si può modificare una tabella e selezionare dalla stessa tabella in una sottoquery nello stesso statement SQL. Le sottoquery possono essere più lente da eseguire di un JOIN per come l'ottimizzatore le processa.

Cosa è un JOIN

La maggior parte delle sottoquery può essere riscritta come JOIN e viceversa. Un JOIN definisce due o più tabelle per una colonna correlata. Solitamente si fa JOIN su chiavi primarie ed esterne. Es. tabella dipendenti con chiave primaria id_dipendente, tabella timesheet con id_dipendente come chiave esterna. JOIN SQL: "WHERE dipendenti.id_dipendente = timesheet.id_dipendente" o "FROM dipendenti JOIN timesheet ON (dipendenti.id_dipendente = timesheet.id_dipendente)".

Vantaggi e svantaggi dei JOIN

Vantaggio principale: esecuzione più veloce. L'aumento prestazioni potrebbe non essere percettibile dall'utente finale. Ma poiché colonne sono nominate, indicizzate e ottimizzate dal motore database, il tempo di recupero è quasi sempre più veloce di una sottoquery. Esistono INNER/OUTER JOIN, LEFT/RIGHT, FULL, CROSS. Svantaggio: meno leggibili delle sottoquery. Un altro svantaggio: può essere confuso scegliere il tipo di JOIN appropriato per ottenere il result set corretto.

  1. Vantaggi e Svantaggi del Cellulare
  2. Vantaggi e svantaggi dei DVD-R
  3. Vantaggi e svantaggi del cellulare
  4. Quali sono i vantaggi e gli svantaggi dei DVD-R?
  5. Vantaggi e Svantaggi dei Certificati Digitali
  6. Quali sono i vantaggi di una presentazione PowerPoint