در مورد Nested Loops در sql server
با سلام و خسته نباشید خدمت شما
1-آیا هزینه Nested Loops زیاد هست یا نه؟
2-اگر Nested Loops اتفاق بیفتد حتما باید index یا کوئری خودمونو باید اصلاح کنیم یا نه در بعضی از موقع ها مشکلی به وجود نمی آورد؟
به عکس زیر نگاه کنید :
ممنون می شوم پاسخ دهید
با تشکر از شما
2 پاسخ
با سلام و خسته نباشید خدمت استاد عزیزم
ممنونم از توجه شما
اگر ممکن هست می شود یک مثال در مورد join کردن بزنید که یکبار Nested Loop اتفاق بی افتد و یکبار هم اتفاق نیافتد که من متوجه بشوم
دقیقا من force کردم بر روی non clustered index و برای تست این کار رو انجام دادم چون دارم به صورت حرفه ای sql server را یاد می گیرم مدت زیادی هست که شروع کردم البته یک فاصله بینش افتاد
ممنونم از شما
با تشکر
سلام و عرض ادب، Nested Loop معمولاً زمانی اتفاق میافته که برای Join کردن جداول یا ایندکس ها اتفاق میافته و وجودش داخل Execution Plan دلیل بر غیر بهینه بودن کوئری شما نیست، تو کوئری بالا شما اگه دقت کنید RID Lookup مقدار 98 درصد رو شامل میشه، اما Nested Loop فقط 1 درصد هست، شما ایندکس پیشنهادی خود SQL Server رو ایجاد کنید میزان Cost باید کاهش چشم گیری داشته باشه، (البته فکر کنم جدولتون PK هم نداره!)