مهدی
3 سال پیش توسط مهدی مطرح شد
7 پاسخ

laravel chunk

سلام خسته نباشید یه سوالی داشتم
متد chunk دقیقا چ کار میکنه ببینید من 15000 کاربر درست کردم وبعد ایمیل و نامشون رو توی جدول نشون دادم بعد مدت زمانی که طول کشید این کاربر هارو نشون بده مثلا شد 10 ثانیه بعد اومدم و همه اون کاربر هارو با chunk گرفتم و بازم همون 10 ثانیه طول کشید من چند جا خوندم که مثلا گفته بود اگه بخوایید دیتابیس هایی با تعداد بالا رو مثلا یک ستونشون رو آپدیت کنید باید از chunk استفاده کنید و برای اپدیت هم استفاده کردم و ج نداد


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

سلام دوست عزیز
شما برای نمایش این کاربر ها از paginate هم استفاده کردید سمت سرور؟
اطلاعات رو چطور نمایش میدید؟
در برخی موارد زمان شما ب دلیل دریافت و نمایش سمت کاربر هست ک طولانی میشه
اگر از paginate استفاده کرده باشید سمت سرور به جای ارسال 15000 کاربر ده تا یا بیستا مثلا ارسال میشه و خیلی سریع تر این اتفاق میفته
من خودم از datatable استفاده میکردم و اون همه ی اطلاعات رو دریافت میکرد و بعد خودش paginate رو سمت کاربر انجام میداد و همینطور زمانبر بود.

chunk میاد کالکشنتو به تکه هایی با سایزی ک میدی تقسیم میکنه
برای paginate و جدول ازش استفاده نکن برای موارد کارت گونه ای که نمایش بدی توی ویو همچین شرایطی مثلا خوبه


مهدی
@MM20001378 3 سال پیش آپدیت شد
0

سلام ممنون از جوابتون دقیقا متوجه نشدم ک گفتید از chunk تو کجا ها باید استفاده کنم
خب الان توی شرایط کارت گونه به چه دردی میخوره دقیقا چ فرقی میکنه با all برگردونیم یا ن ایا توی سرعت اثر میزاره؟
و ضمن اینکه توی chunk مثلا اگه من ده تا داده داشته باشم و chunk دو بدم این میاد و 5 تا ارایه برمیگردونه که توی هرکدوم دوتا ارایه هست و خب مثلا اگه من بخوام توی ویو اسم رو نمایش بدم باید دو تا foreach بزنم درسته؟
@salar.mohammad2013


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

ببین مثلا صفحه ی دوره های اموزشی راکت پایینش paginate داره دیگه درست؟
توی هر صفحش 12 تا دوره اورده هر ردیف داره سه تا دوره نشون میده
میتونی اون 12 تا رو بگی سه تا سه تا تقسیم شه اونطوری نمایش داده بشه
حرفی ک زدم مثال خود دایکیومنت لاراول هست
مثال ها موارد زیادی وجود داره
کلا برای دسته بندی استفاده میشه
هر وقت بخوایی بر اساس تعداد دسته بندی و جدا کنی
حالا میخواد ویو باشه و ردیف های سه تایی
یا هرچیز دیگه ای
شاید بخوایی مثلا یه progresbar یا چیزی طراهی کنی هر ده تا خونه ای که میره جلو رنگ progres رو عوض کنی
الان مثال زیادی براش تو ذهنم نیست وقتی نیاز بشه واقعا به فکر ادم میاد شاید استفادش اونقد نبوده برام ک بخوام دسته بندی کنم


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

اره توی سرعت بی نهایت تاثیر داره
شما به جای فراخونی 15000 کاربر فقط ده تا رو برمیگردونی سمت کاربر و فقط 10 تا رو از سرور و دیتابیس درخواست و پردازش میکنیش دیگ

در رابطه با بخش اخر سوالت خوب متوجه نشدم
اگر کد هات رو و تصویری از ویو برامون بزاری بهتر میتونیم راهنمایی کنیم


مهدی
@MM20001378 3 سال پیش آپدیت شد
0

ببینید به طور مثال الان توی این عکس
توضیح تصویر رو وارد کنید
من دسته بندی هام رو گرفتم و return کردم و به من مثلا 5 ارایه برگردونه خب حالا اگه من بخوام اسم دسته هام رو نشون بدم یک foreach میزنم و اسم رو برای من نشون میده ولی اگه با chunk 2 برگردونم 3تا ارایه برمیگردونه که تو هرکدوم دوتا ارایه دیگه هست و دراینصورت من برای نمایش name باید حتما دو تا foreach بزنم درسته و خب این کار منو زیاد میکنه


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

خب شما داری اشتباه استفاده میکنی دیگ
میایی به دسته های دو تایی تقسیم میکنی دلیلی نداره
هر تعداد میخوایی paginate همون تعداد رو بکن
کلا از chunk بیا بیرون لطفا


مهدی
@MM20001378 3 سال پیش آپدیت شد

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

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