Quali sono i vantaggi e svantaggi di un join o sottoquery?

February 23

Quali sono i vantaggi e svantaggi di un join o sottoquery?


Una sottoquery è una query all'interno di un'altra query. Una sottoquery potrebbe anche contenere un altro subquery. Questi sono detto di essere sottointerrogazioni "nidificati". Un join è quando due o più tabelle si fa riferimento nel campo "Da" clausola della query. Diversi motori di database possono ottimizzare sottointerrogazioni e si unisce in modo diverso. Ad esempio, l'ottimizzatore di DB2 trasformerà una sottoquery per un join se sono soddisfatti determinati criteri. In alcuni casi, un join rese migliori prestazioni rispetto una sottoquery.

Che cosa rende una sottoquery

Una subquery è una dichiarazione "SELECT" entro il "dove" o "avere" clausola di un "INSERT," esterno "UPDATE", "merge" o "CANCELLA" dichiarazione. La subquery è anche chiamata la "query interna" o "selezionare interiore". La subquery può avere un "FROM" clausola con una o più tabelle e può opzionalmente avere un "WHERE," GROUP BY "o" avere "clausola di salvaguardia". Si è sempre racchiuso tra parentesi.

Vantaggi e svantaggi di subquery

Subquery sono vantaggiose perché strutturano la query per isolare ogni parte della dichiarazione, eseguire la stessa operazione che normalmente richiederebbe complesse unisce e sindacati e sono più facili da leggere. Sottointerrogazioni anche sono stati la base per il nome "Structured Query Language" (SQL) a causa della loro struttura facilmente leggibile. Uno svantaggio è che non è possibile modificare una tabella e selezionare dalla stessa tabella all'interno di una sottoquery nella stessa istruzione SQL. Subquery possono anche richiedere più tempo per l'esecuzione di un join a causa di come l'ottimizzatore banca dati li elabora.

Che cosa rende una registrazione

La maggior parte delle subquery può essere riscritta come si unisce, e la maggior parte si unisce può essere riscritta come subquery. Un join definisce due o più tabelle da una colonna correlata. Le tabelle di solito sono uniti su chiavi primarie ed esterne. Ad esempio, un tavolo dipendente potrebbe avere una chiave primaria di una colonna id dipendente, mentre un tavolo scheda attività ha anche una colonna ID dipendente che è una chiave esterna alla tabella dei dipendenti. Il SQL join può essere scritto come "WHERE employee.empid = timesheet.empid" o "FROM dipendente JOIN scheda attività (employee.empid = timesheet.empid)."

Vantaggi e svantaggi di join

Il vantaggio principale di un join è che viene eseguita più rapidamente. L'aumento delle prestazioni potrebbe non essere evidente dall'utente finale. Tuttavia, poiché le colonne nominalmente citate e indicizzati e ottimizzati dal motore di database, il tempo di recupero quasi sempre sarà più veloce di quella di una sottoquery. Ci sono anche interno ed esterno si unisce, a sinistra ea destra si unisce, pieno si unisce e si unisce croce. Uno svantaggio di usare si unisce è che non sono così facili da leggere come subquery. Un altro svantaggio è che può essere chiaro quale join è il tipo appropriato di join da utilizzare per produrre l'insieme corretto risultato desiderato.