• 1400/06/31

مشکل در بهینه نبودن :

سلام وقتی ما میایم از دیتابیس  مثلا Context.product.where(x=>!x.isdelete)

و بعد میایم روش فیلتر انجام میدیم و بعدش میایم صفحه بندی میکنیم

خب در صورتی که یک میلیون محصول باشه یا فرض کنید این محصولات آگهی بودن که تعدادش زیاد هست

و تعداد ریکوست ها زیاد باشه این بهینه نیست اصلا که هر سری کل دیتابیس اول خونده بشه و بعد روش فیلتر صورت بگیره و ...

بهینه بودن اینشکلی میشه که بیایم اول کار take هم بکنیم... ولی اگه تیک کنیم با مشکل روبه رو میشیم چون نمیفهمیم قبلترش چه خبره ....

راه حلی دارید؟

این درسته که entity میره کل دیتاهارو از اول میخونه وقتی take در کار نباشه و بهینگی رو بسیار میاره پایین؟

میشه لطف کنید توضیح بدید؟

  • 1400/07/01
  • ساعت 15:03

سلام خدمت شما دوست عزیز

ببینین دوست من ، سیستم entity framework core به این صورت کار میکنه که شما یک query با پیچیدگی های مربوطه ایجاد میکنین و این query تا زمانی که دستور .ToList() فراخوانی نشده باشه به دیتابیس منتقل نمیشه پس هیچ مشکلی برای پرفورمنس ایجاد نمیشه

همین روشی که تدریس شده بهینه ترین حالت ممکن هستش


logo-samandehi