سلام
اگر بخواهیم مثلا 10000 رکورد را در دیتابیس وارد کنیم کدام روش پیشنهاد می شود
1 - قرار دادن 10000 رکورد در یک آرایه و وارد کردن یک باره مثلا توسط insert
2 - ثبت سطر به سطر اطلاعات مثلا توسط save
در روش اول حافظه ram اشغال می شود و ممکن است سرور down شود
در روش دوم cpu درگیر می شود وممکن است سرعت کم شود
اگر درست نوشتم کدام پیشنهاد می شود ؟
یا روش بهتری سراغ دارید؟
سلام
موقعی که سرور سرش خلوته مثل شب، 10 تا 10 ها تو آرایه insert کن و بعدش یه مکث 1 یا 2 ثانیه ایی
دیتابیس رو آخر شب دانلود کن و توی phpmyadmin بیارش
روی سیستم خودت منظورمه
و بعد عملیات رو انجام بده ، در ضمن 10 هزارتا که عددی نیست :)
سلام
تشکر از سینا شاهاویسی و سیدعلی موسوی
ببخشید من سوالم رو درست مطرح نکردم
من می خوام اطلاعات از یک منبع خارجی بگیریم با حجم بالا مثلا یک آرایه متشکل از 100 عضو و هر عضو 10000 یا 100000 رکورد تکست و هر رکورد 500 کاراکتری و بعد این مقادیر را در دیتابیس وارد کنم
چطوری وارد کنم
اطلاعات چطور در سرور از متغیر data بگیرم جدا کنم ودر دیتابیس خود وارد کنم
دیتابیس هم روی سرور خودم است
public function insert($data)
{
foreach ($data as $key => $value1) {
foreach ($value1 as $key => $value2) {
foreach ($value2 as $key => $value3) {
### insert 1
}
### insert 2
}
### insert 3
}
### insert 4
}
1 - گرفتن و قرار دادن 10000 رکورد در یک آرایه و وارد کردن یک باره مثلا توسط insert
2 -گرفتن و ثبت سطر به سطر اطلاعات مثلا توسط save
در روش اول حافظه ram اشغال می شود و ممکن است سرور down شود
در روش دوم cpu درگیر می شود وممکن است سرعت کم شود
سلام بهتره برای اینکه هم از رم و سی پی یو همزمان کم نیارید بهتره از روش chunk استفاده کنید
بر حسب دیتایی که دارید به چند قسمت مساوی تقسیم کنید و هر قسمت رو آرایه مجزا کرده و از دستور insert استفاده کنید در این روش نه مشکل سی پی یو پیدا میکنید نه مشکل رم .
سلام
بهترین روش استفاده از ی فایل اکسل و Insert کردن آن مستقیم به دیتابیس
احتمالا خطای دستور شما در صورتی ک بر خط باشید خیلی زیاد و در یک لحطه غیر فعال شدن ممکن است حجم زیادی از دیتابیس رو درگیر کنید و بعداز آن با جطای تکراری بودن مواجه شید
همونطور که جناب @mahdavi فرمودند روش chunk خیلی روش خوبی میتونه باشه. نه CPU کم میارید نه رم.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟