Нэгдэх гүйцэтгэл хаана байна вэ?
Нэгдэх гүйцэтгэл хаана байна вэ?

Видео: Нэгдэх гүйцэтгэл хаана байна вэ?

Видео: Нэгдэх гүйцэтгэл хаана байна вэ?
Видео: Bold ft. Vande - Chi Haana Baina (Remix) [Official Music Video] 2024, Дөрөвдүгээр сар
Anonim

Ихэнх тохиолдолд, БАЙНА эсвэл НЭГДЭХ IN мэдэгдлээс хамаагүй илүү үр дүнтэй (мөн хурдан) байх болно. хамт БАЙНА эсвэл a НЭГДЭХ , өгөгдлийн сан нь заасан харилцааг шалгах явцад үнэн/худал буцаана. Дэд асуулга дахь хүснэгт маш жижиг биш л бол, БАЙНА эсвэл НЭГДЭХ IN-ээс хамаагүй дээр ажиллах болно.

Үүнээс гадна дотоод нэгдлийн гүйцэтгэл хаана байна вэ?

2 хариулт. Ерөнхийдөө, ДОТООД НЭГДСЭН болон БАЙНА өөр өөр зүйл юм. Хэрэв та хийвэл дотоод нэгдэл Өвөрмөц багана дээр тэд адилхан харагдаж байна гүйцэтгэл . Хэрэв та хийвэл дотоод нэгдэл DISTINCT ашигласан бичлэгийн багц дээр (давхардлаас салахын тулд), БАЙНА ихэвчлэн илүү хурдан байдаг.

Хоёрдугаарт, "LEFT JOIN" нь нэгдэхээс хурдан юм уу? А ЗҮҮН НЭГДЭХ огт тийм биш илүү хурдан ДОТООД НЭГДЭХ . Үнэн хэрэгтээ энэ нь удаан байдаг; тодорхойлолтоор бол гаднах нэгдэх ( ЗҮҮН НЭГДЭХ эсвэл зөв НЭГДЭХ ) ИННЕР-ийн бүх ажлыг хийх ёстой НЭГДЭХ нэмээд үр дүнг хүчингүй болгох нэмэлт ажил.

Ийм байдлаар аль нь илүү хурдан байдаг вэ?

The БАЙНА заалт их байна Илүү хурдан дэд асуулгын үр дүн маш том байх үед IN-ээс илүү. Үүний эсрэгээр, IN заалт нь байна Илүү хурдан -аас БАЙНА дэд асуулгын үр дүн маш бага байх үед. Мөн IN заалт нь NULL утгатай юу ч харьцуулах боломжгүй, гэхдээ БАЙНА заалт нь бүх зүйлийг NULL-тэй харьцуулж болно.

Аль SQL JOIN илүү хурдан вэ?

За ерөнхийдөө ДОТООД НЭГДСЭН байх болно Илүү хурдан Учир нь энэ нь зөвхөн нэгдсэн баганад тулгуурлан бүх нэгтгэсэн хүснэгтэд тохирсон мөрүүдийг буцаана. Гэхдээ ЗҮҮН НЭГДЭХ ЗҮҮН-д заасан хүснэгтийн бүх мөрийг, БАРУУН заасан хүснэгтээс тохирох бүх мөрийг буцаана.

Зөвлөмж болгож буй: