راکت

مدیریت رکوردهای زیاد در datatable

7 پاسخ

سلام و عرض ادب
دوستان عزیز سال نوتون مبارک!
خواهشا دوستانی که تجربه کار با دیتابیس های بزرگ داشتن راهنمایی کنن که چجوری دیتارو با datatable هندل کنم به نحوی که باعث افت سرعت و کندی نشه!
اگر در جاهای دیگه هم ممکنه این حجم از دیتا مشکل درست کنه لطفا بگید

ثبت پرسش جدید

پاسخ‌ها

7
مهدی حسین آبادی
مهدی حسین آبادی
@Mr_Omid

سلام ، یک جا شنیدم ، برای دیتابیس های بزگ متدی وجود داره با عنوان chunk خودم تا الان فرصت استفاده ازش نداشتم ،‌ یک سرچ بزن ، امیدوارم به نتیجه دلخواهت برسی ، موفق باشید.

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

تخصص: Full Stack Developer

@d373l0p3r
سلام
شما نباید توی لاراول از دیتا تیبل استفاده کنی وقتی داده هات زیاده چون دیتا تیبل کاری که میکنه اینه همه ی داده ها رو کامل کامل دریافت میکنه و خودش میاد توی مرور گر paginate میکنه که خیلی بده
برای راحتی کار و رفرش نشدن صفحه شما باید از فریم ورک های وابسته به لاراول بهره بگیری
livewire دقیقا برای همین کاره و به راحتی نیازت رو برطرف میکنه
خیلی ساده میتونی یه جدول با paginate داشته باشی
امکانات ب شدت زیادی داره خیلی زیاد مخصوصا برای ثبت و درج و همه چی راحتی ولی نیاز به یادگیری داره که دوره هم داره توی راکت اما ورژن دو هست اموزش راکت
ورژن جدیدش سه رو از خود سایت لایو وایر مستنداتشو ببین

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

developer
developer
@developer

تخصص: برنامه نویس

سلام
من دو سالی توی یکی از معروفترین صرافی های کشور کار کردم، دیتابیس همون mysql بود، چیزی که مهمه کوئری ها هست، اول اینکه بهینه باشه، دوم از ایندکس ها استفاده کنید حتما، سوم از eager loading استفاده کنید،
هر ریکوئست رو جدا جدا آنالیز و بررسی کنید که چه کوئری هایی میزنه و اونها رو کم و بهینه کنید.
mysql راحت جوابه واسه همه چیز.

نکته مهم بعدی هم استفاده از کش هست، اکثر فراخوانی ها رو باید از ردیس و کش انجام بدید نه مستقیم از mysql و دیتابیس اصلی.

نکته زیاده واسه این بهینه سازی، مثلا یکی دیگه اینکه اصلا از paginate استفاده نکنید، و صفحه به صفحه دیتا رو برگردونید، چون توی پیجینیت میره کل دیتا رو میگیره و صفحه بندی میکنه بعد چندتای اول رو برمیگردونه، باید بگید ده تای اول رو بیار، بعد ده تای دوم بعد ده تای سوم و ... و نگید کلا چند صفحه هست و ...

احسان اسدی
احسان اسدی
@assadiehsan

تخصص: برنامه نویس Back-end

درود بر شما
اگر از لاراول استفاده می کنید پکیج jQuery DataTables API for Laravel می تونه کمکتون کنه

علیرضا فرهادی
علیرضا فرهادی
@d373l0p3r

تخصص: برنامه نویس و توسعه دهنده وب

@assadiehsan
ممنون از پاسخگوییتون، این پکیج مثل خود دیتاتیبل js همه دیتا رو یکجا لود نمیکنه درسته؟ با pagination دیتا رو لود میکنه از دیتابیس؟

علیرضا فرهادی
علیرضا فرهادی
@d373l0p3r

تخصص: برنامه نویس و توسعه دهنده وب

@developer
ممنون از پاسخگوییتون،اما حدود 100 هزارتا رکورد حیاتی برای اون سازمان هست که حتما باید تو دیتابیس ذخیره و خونده بشه، میشه ردیس رو با mysql هماهنگ کرد؟

احسان اسدی
احسان اسدی
@assadiehsan

تخصص: برنامه نویس Back-end

خیر همه رو یکجا لود نمی کنه ، اما pagination به صورت AJAX هست و همون حس و حال datatable رو بهتون می ده.
و اینکه جستجو هم داره

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

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