sql >> Databasteknik >  >> RDS >> Oracle

Explicita JOINs vs implicita joins?

Din professor borde prata med Gordon Linoff, som är professor i datavetenskap vid Columbia University. Gordon, och de flesta SQL-entusiaster på den här webbplatsen, kommer nästan alltid att säga åt dig att använda explicit syntax för join. Anledningarna till detta är många, inklusive (men inte begränsat till):

  • Explicita kopplingar gör det enkelt att se vad den faktiska kopplingslogiken är. Implicita kopplingar, å andra sidan, fördunklar kopplingslogiken genom att sprida den över både FROM och WHERE klausuler.
  • ANSI 92-standarden rekommenderar att du använder moderna explicita kopplingar, och i själva verket avskaffade den implicita kopplingen som din professor verkar driva på

När det gäller prestanda, så vitt jag vet, skulle båda versionerna av frågan du skrev vara optimerade för samma sak under huven. Du kan alltid kontrollera genomförandeplanerna för båda, men jag tvivlar på att du ofta skulle se en betydande skillnad.



  1. Jämför prestanda för Windows Azure VM, del 2

  2. Hur kan du se om ett PL/SQL-paket, en procedur eller en funktion används?

  3. Hur Random() fungerar i PostgreSQL

  4. Ingen mer data att läsa från uttaget fel