علی کوندری
3 سال پیش توسط علی کوندری مطرح شد
2 پاسخ

سنگین بودن اطلاعات دریافتی از دیتابیس لاراول

سلام و وقت بخیر خدمت دوستان

من صفحه اصلی سایتم خیلی سنگین شده و طول میکشه که لود بشه
تو صفحه اصلی محصولات پرفروش و جدیدو ویژه رو جدا نمایش میدم، تعداد محصولات حدود 40 هزار تا هست و من کد هارو به شکل زیر نوشتم

                    $vipproducts=product::select("products.*")
                    ->orderby('concession' , 'desc')->orderBy(product::raw('RAND()'))->where('status' , 3)->with('photo')->get()->take(9);
                    $sales =product::where('status' , '>=',2 )
                    ->orderby('download' , 'desc')->orderby('updated_at' , 'desc')->with('photo')->get()->take(6);
                    $newproducts=product::select("products.*")
                    ->orderby('concession' , 'desc')->orderBy(product::raw('RAND()'))->where('status' , '>=',2 )->with('photo')->get()->take(5);

مشکل کد ها کجاست ؟


ثبت پرسش جدید
Mohammad
تخصص : 5656565
@Reza.7 3 سال پیش مطرح شد
1

درود بر شما
اینکه میگید تعداد محصولات 40 هزار تا هست تاثیری نداره چون فقط شما یه تعدادی مثلا 10 تا میخاید که خودتون هم take 10 زدید
تو سایت https://gtmetrix.com/ آدرس سایتتون رو بزنید چه چیزی بیشتر طول میکشه تا لود بشه
اکثر اوقات فونت ها استایل ها اسکریپت ها و تصاویر خیلی سنگین هستند
پیشنهاد میکنم
1- حجم عکس هارو کم کنید
2- از laravel mix برای استایل ها و اسکریت ها استفاده کنید
3 - به تگ های استایل و اسکریپت defer اضافه کنید
4- برای کوئری ها پیشنهاد میکنم از کش استفاده کنید تا سرعت بالاتر بره
5- و اگر از لایو وایر استفاده میکنید lazy loading هم بزارید براش


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 3 سال پیش مطرح شد
1

سلام
ستون photo در دیتابیس به صورت ادرس عکس هست یا خود تصویر رو ذخیره کردید توی دیتابیس؟


Mohammad
تخصص : 5656565
@Reza.7 3 سال پیش مطرح شد
1

درود بر شما
اینکه میگید تعداد محصولات 40 هزار تا هست تاثیری نداره چون فقط شما یه تعدادی مثلا 10 تا میخاید که خودتون هم take 10 زدید
تو سایت https://gtmetrix.com/ آدرس سایتتون رو بزنید چه چیزی بیشتر طول میکشه تا لود بشه
اکثر اوقات فونت ها استایل ها اسکریپت ها و تصاویر خیلی سنگین هستند
پیشنهاد میکنم
1- حجم عکس هارو کم کنید
2- از laravel mix برای استایل ها و اسکریت ها استفاده کنید
3 - به تگ های استایل و اسکریپت defer اضافه کنید
4- برای کوئری ها پیشنهاد میکنم از کش استفاده کنید تا سرعت بالاتر بره
5- و اگر از لایو وایر استفاده میکنید lazy loading هم بزارید براش


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام