Kje obstaja proti uspešnosti pridružitve?
Kje obstaja proti uspešnosti pridružitve?

Video: Kje obstaja proti uspešnosti pridružitve?

Video: Kje obstaja proti uspešnosti pridružitve?
Video: Neil deGrasse Tyson: UFOs, Philosophy of Physics, Chaitin's Theorem 2024, April
Anonim

V večini primerov, OBSTAJA oz PRIDRUŽITE SE bo veliko bolj učinkovit (in hitrejši) kot izjava IN. Z OBSTAJA ali a PRIDRUŽITE SE , bo baza podatkov med preverjanjem podanega razmerja vrnila true/false. Razen če je tabela v podpoizvedbi zelo majhna, OBSTAJA oz PRIDRUŽITE SE bo deloval veliko bolje kot IN.

Poleg tega, kje obstaja vs zmogljivost notranjega spajanja?

2 odgovora. na splošno gledano NOTRANJI SPOJ in OBSTAJA so različne stvari. Če naredite notranji spoj na UNIKATNEM stolpcu razstavljajo isto izvedba . Če naredite notranji spoj na nabor zapisov z uporabljenim DISTINCT (da se znebite dvojnikov), OBSTAJA je običajno hitrejši.

Drugič, ali je LEFT JOIN hitrejši od pridružitve? A LEVO PRIDRUŽI absolutno ni hitrejši kot NOTRANJE PRIDRUŽITE SE . Pravzaprav je počasneje; po definiciji zunanji pridruži se ( LEVO PRIDRUŽI ali PRAVILNO PRIDRUŽITE SE ) mora opraviti vse delo NOTRANJA PRIDRUŽITE SE plus dodatno delo pri razširjanju rezultatov na nič.

Na ta način, kaj je hitrejše obstaja ali v?

The OBSTAJA klavzula je veliko hitreje kot IN, če so rezultati podpoizvedbe zelo veliki. Nasprotno pa je klavzula IN hitreje kot OBSTAJA ko so rezultati podpoizvedbe zelo majhni. Prav tako klavzula IN ne more primerjati ničesar z vrednostmi NULL, ampak OBSTAJA člen lahko primerja vse z NULL.

Kateri SQL JOIN je hitrejši?

No, na splošno NOTRANJI SPOJ bo hitreje ker vrne samo ujemajoče se vrstice v vseh združenih tabelah na podlagi združenega stolpca. Ampak LEVO PRIDRUŽITE SE bo vrnil vse vrstice iz tabele, določene LEFT, in vse ujemajoče se vrstice iz tabele, podane DESNO.

Priporočena: