Waar bestaan vs aansluitingsprestasie?
Waar bestaan vs aansluitingsprestasie?

Video: Waar bestaan vs aansluitingsprestasie?

Video: Waar bestaan vs aansluitingsprestasie?
Video: IN VS EXISTS VS JOIN, performance 2024, November
Anonim

In die meeste gevalle, BESTAAN of SLUIT AAN sal baie meer doeltreffend (en vinniger) as 'n IN-stelling wees. Met 'n BESTAAN of a SLUIT AAN , sal die databasis waar/onwaar terugstuur terwyl die gespesifiseerde verhouding nagegaan word. Tensy die tabel in die subnavraag baie klein is, BESTAAN of SLUIT AAN sal baie beter presteer as IN.

Buitendien, waar bestaan vs innerlike aansluitingsprestasie?

2 Antwoorde. Oor die algemeen, INNERS SLUIT AAN en BESTAAN is verskillende dinge. As jy 'n innerlike aansluiting op 'n UNIEKE kolom vertoon hulle dieselfde optrede . As jy 'n innerlike aansluiting op 'n rekordstel met DISTINCT toegepas (om van die duplikate ontslae te raak), BESTAAN is gewoonlik vinniger.

Tweedens, is LEFT JOIN vinniger as aansluit? A LINKS SLUIT AAN is absoluut nie vinniger as 'n INNERLIKE SLUIT AAN . Trouens, dit is stadiger; per definisie, 'n buitenste aansluit ( LINKS SLUIT AAN of regs SLUIT AAN ) moet al die werk van’n INNER doen SLUIT AAN plus die ekstra werk om die resultate uit te brei.

Op hierdie manier, wat is vinniger bestaan of in?

Die BESTAAN klousule is baie vinniger as IN wanneer die subnavraagresultate baie groot is. Omgekeerd is die IN-klousule vinniger as BESTAAN wanneer die subnavraagresultate baie klein is. Die IN-klousule kan ook niks met NULL-waardes vergelyk nie, maar die BESTAAN klousule kan alles met NULLs vergelyk.

Watter SQL JOIN is vinniger?

Wel, oor die algemeen INNERS SLUIT AAN sal wees vinniger want dit gee slegs die rye wat ooreenstem in alle saamgevoegde tabelle terug, gebaseer op die saamgevoegde kolom. Maar LINKS SLUIT AAN sal alle rye van 'n tabel wat LINKS gespesifiseer is en alle ooreenstemmende rye van 'n tabel wat REGS gespesifiseer is, terugstuur.

Aanbeveel: