PDA

View Full Version : سوال: کدام یک سربار کمتری دارند Left Join یا Inner Join ؟



Developer Programmer
سه شنبه 09 آذر 1389, 08:23 صبح
یه بانک حجیم دارم که به خاطر ارتقاء عملکرد برنامه و کاهش سربارهای سمت Server ، می خواستم Inner Join ها رو به Left تبدیل کنم،
چون اینطور استدلال میکنم که در Left Join تعداد سطرهای کمتری تولید میشه و سربار کمتری برای Server داره.

آیا این استدلال درسته ؟

حمیدرضاصادقیان
سه شنبه 09 آذر 1389, 08:33 صبح
سلام.
در ایجاد کوئری ها پیشنهاد میشه Outer Join به inner join تبدیل بشه. چون در Outer حتی رکوردهایی که وجود ندارند را آورده و Null قرار میدهد که همین باعث سربار اضافی و load کردن بیشتر اطلاعات می شود ولی در inner به این شکل نیست و رکوردهای متناظر رو میاره. به غیر از این ، در خود Execution Plan نیز خود SQL Server سعی میکنه join هارو به واسطه inner انجام بده در نهایت اگر نشد به outer روی میاره.