Nwlapcug.com


Quali sono i vantaggi & svantaggi di un Join o una Subquery?

Quali sono i vantaggi & svantaggi di un Join o una Subquery?


Una sottoquery è una query all'interno di un'altra query. Una sottoquery potrebbe contenere anche un'altra sottoquery. Questi sono detto di essere "nidificate" subquery. Un join è quando due o più tabelle vengono fatto riferimento nella clausola "Da" della query. Motori di database diversi possono ottimizzare join e subquery in modo diverso. Ad esempio, ottimizzatore di DB2 trasformerà una sottoquery per un join se vengono soddisfatti determinati criteri. In alcuni casi, un join produce prestazioni migliori rispetto a una subquery.

Ciò che rende una sottoquery

Una sottoquery è un'istruzione "SELECT" all'interno di "WHERE" o "Avere" clausola di un'istruzione di "Unire" o "Eliminare" esterna "INSERT", "UPDATE". La subquery è chiamata anche il "query interna" o "select interna." La sottoquery può avere una clausola di "FROM" con una o più tabelle e facoltativamente può avere un "dove", "GROUP BY" o "Avere" clausola. Esso è sempre racchiusa tra parentesi.

Vantaggi e svantaggi di una sottoquery

Le subquery sono vantaggiose perché essi struttura la query di isolare ogni parte dell'istruzione, eseguire la stessa operazione che normalmente richiederebbe sindacati e join complessi e è più facili da leggere. Sottoquery erano anche la base per il nome di "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. Sottoquery possono anche richiedere più tempo rispetto a un join a causa di come l'utilità di ottimizzazione di database li elabora.

Ciò che rende un Join

La maggior parte delle sottoquery può essere riscritto come join e join la maggior parte può essere riscritta come sottoquery. Un join definisce due o più tabelle di una colonna correlata. Solitamente le tabelle vengono unite su chiavi primarie ed esterne. Ad esempio, una tabella employee potrebbe avere una chiave primaria di una colonna di id dipendente, mentre un tavolo timesheet ha anche una colonna di id di dipendente è una chiave esterna per la tabella employee. Il join SQL può essere scritto come "WHERE employee.empid = timesheet.empid" o "da dipendente JOIN timesheet ON (employee.empid = timesheet.empid)."

Vantaggi e svantaggi di join

Il vantaggio principale di un join è che vengono eseguite più rapidamente. L'aumento delle prestazioni potrebbe non essere evidente dall'utente finale. Tuttavia, poiché le colonne sono specificamente denominate e indicizzate e ottimizzate da motore di database, quasi sempre il tempo di recupero sarà più veloce di quello di una sottoquery. Ci sono anche interiore e outer join, join destro e sinistro, full join e i cross join. Uno svantaggio dell'utilizzo di join è che essi non sono così facili da leggere come sottoquery. Un altro svantaggio è che può essere fonte di confusione circa quali join è il tipo di join da utilizzare per produrre il risultato desiderato corretto set appropriato.