راکت

laravel chunk

7 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

7
محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

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

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

مهدی
مهدی
@MM20001378

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

شاید پاسخ شما همین‌جا باشد

محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

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

محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

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

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

مهدی
مهدی
@MM20001378

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

محمد رضا
محمد رضا
@salar.mohammad2013

تخصص: Full Stack Developer

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

مهدی
مهدی
@MM20001378

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

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