ورود

View Full Version : inner ... join ها ؟



sadaf_
چهارشنبه 16 اسفند 1391, 14:12 عصر
هر کدام از اینها چه معنایی دارند و چه کاربردهایی می تونند داشته باشند؟
INNER MERG JOIN
INNER HASH JOIN
INNER LOOP JOIN
ممنون

mohsen.net
پنج شنبه 17 اسفند 1391, 10:12 صبح
sql server به صورت فیزیکی سه نوع jon داره

Nested Loops
Merge Join
Hash Match
بسته به تعداد رکورد ها و شرط هایی که شما می نویسید (بررسی Statistics) ، یکی از انواع Join ها توسط Optimizer انتخاب می شود .

اما optimizer همیشه یک plan دقیق را نمی تونه انتخاب کنه . مثلا چون کویری باید در زمان مشخصی اجرا شود همه plan ها را نمی تواند بررسی کند ، یا اینکه statistics ها به روز نیستند .

شما می توانید به Optimizer بگید که روش بهتر کدام Join هست ، که بهش Hint می گن

sadaf_
پنج شنبه 17 اسفند 1391, 10:48 صبح
آیا در سرعت هم می تونه تاثیر داشته باشه؟

tooraj_azizi_1035
جمعه 18 اسفند 1391, 13:08 عصر
مستقیماً تاثیر میگذاره. مثلاً برای رکوردهای کم از Nested Loops که دو حلقه تو در تو هست استفاده میشه. در اکثر موارد خود Optimizer بهترین رو انتخاب میکنه.