È stato portato alla mia attenzione che il USING
costrutto (anziché ON
) nella FROM
clausola delle SELECT
query potrebbe introdurre barriere di ottimizzazione in alcuni casi.
Intendo questa parola chiave:
SELEZIONA * Da un ISCRIVITI b USANDO (a_id)
Solo in casi più complessi.
Contesto: questo commento a questa domanda .
Lo uso molto e non ho mai notato nulla finora. Sarei molto interessato a un caso di prova che dimostri l'effetto o eventuali collegamenti a ulteriori informazioni. I miei sforzi di ricerca si sono rivelati vuoti.
La risposta perfetto sarebbe un banco di prova per dimostrare USING (a_id)
con prestazioni inferiori rispetto alle alternative unirsi clausola ON a.a_id = b.a_id
- se che può realmente accadere.
id
come nome di colonna.
USING
è leggermente più veloce , in quanto risulta in una colonna in meno nella matrice dei risultati. Le tue scoperte risalgono al 2005 e al 2008. Presumo che qualsiasi problema sia stato risolto ormai. Tuttavia , posso vedere una possibile limitazione:USING
potrebbe essere necessario applicare i JOIN con l' ordine , poiché la colonna di unione risultante è un prodotto comune. In tal modo potenzialmente limitando le opzioni nel riordino dei JOIN.