Kus eksisteerib vs liitumise jõudlus?
Kus eksisteerib vs liitumise jõudlus?

Video: Kus eksisteerib vs liitumise jõudlus?

Video: Kus eksisteerib vs liitumise jõudlus?
Video: Ingvar Villido Ishwarananda: "Mis on universaalne armastus ja kus see asub?" 2024, November
Anonim

Enamikel juhtudel, OLEMAS või LIITU on palju tõhusam (ja kiirem) kui IN-lause. Koos an OLEMAS või a LIITU , tagastab andmebaas määratud seose kontrollimisel tõese/vale. Kui alampäringu tabel pole väga väike, OLEMAS või LIITU toimib palju paremini kui IN.

Pealegi, kus on olemas vs sisemine liitumine?

2 vastust. Üldiselt, SISEMINE LIITUMINE ja OLEMAS on erinevad asjad. Kui teete an sisemine liitmine Ainulaadsel veerul on neil sama esitus . Kui teete an sisemine liitmine kirjekomplektil, millele on rakendatud DISTINCT (duplikaatidest vabanemiseks), OLEMAS on tavaliselt kiirem.

Teiseks, KAS LEFT JOIN on kiirem kui liitumine? A VASAKUID LIITUMINE ei ole absoluutselt mitte kiiremini kui SISEMINE LIITU . Tegelikult on see aeglasem; määratluse järgi väline liituda ( VASAKUID LIITUMINE või õigesti LIITU ) peab tegema kogu SISEMISE töö LIITU pluss lisatöö tulemuste nullpikendamisel.

Sel viisil, kumb on kiirem, on olemas või sees?

The OLEMAS klausel on palju kiiremini kui IN, kui alampäringu tulemused on väga suured. Seevastu klausel IN on kiiremini kui OLEMAS kui alampäringu tulemused on väga väikesed. Samuti ei saa IN-klausel midagi võrrelda NULL-väärtustega, kuid OLEMAS klausel saab võrrelda kõike NULL-idega.

Milline SQL JOIN on kiirem?

No üldiselt SISEMINE LIITUMINE saab kiiremini kuna see tagastab ühendatud veeru põhjal ainult need read, mis on sobitatud kõigis ühendatud tabelites. Aga VASAKULE LIITU tagastab kõik read tabelist, mis on määratud VASAKULE, ja kõik sobivad read tabelist, mis on määratud PAREMAL.

Soovitan: