راهنمای ثبت رکورد سریع رکورد در دیتابیس
194
۲ سال پیش
0

راهنمای ثبت رکورد سریع رکورد در دیتابیس

سلام دوستان

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

مثلا 10000 تا رکورد رو توی دیتابیس ثبت و ذخیره کنید.

ولی اما این رقم کمی نیست برای حداقل 4 ثانیه و دیتابیس ممکنه خیلی درگیر بشه و دیتابیس دان بشه.

طبق تحقیقاتی که داشتم به این نتیجه رسیدم بجای اینکه بیام بصورت معمولی رکورد ها رو توی حلقه ثبت کنم،میام قبلش transaction رو فعال میکنم و ثبت عمل insert رو انجام میدم و بعد commit میکنم.

اینطوری دستورات insert بصورت یکجا بصورت مجازی تولید میشه و با commit کردن transaction،میاد این دستور رو یکباره اجاره میکنه.

اینطوری هم سرعتش بالاس و هم یکبار دیتابیس فشار میاد و مشکلی هم پیش نمیاد.

مثلا من توی node js دیتابیس sqlite رو تست کردم در عرض 6 ثانیه 20000 هزار رکورد رو ثبت کرد و این خیلی عالیه.

البته روش ثبت رکورد چندتایی هم خیلی گزینه خوبی برای ثبت دسته ای رکورد ها هستش.

مثلا 20000 هزار تا رکورد رو توی mysql بصورت چندتایی و یکجا ثبت کردم و کمتر 1 ثانیه طول کشید.

کافیه به صورت زیر کد ثبت رکورد رو بنویسید :

insert into table values
(value,value),
(value,value),
(value,value)

 

البته برا زمانی خوبه که داده های زیادی رو میخواین دیتابیس ذخیره کنید و داده ها ممکنه تکی برسه و این جالب نیست که یکجا نگه دارید و بعد با transaction ثبتش کنید.

مگه اینکه داده ها مهم نباشه همون لحظه به کاربر برسه و میتونید یه جا ذخیره کنید و مثلا 1000 تا که شد بزنید که دیتابیس ذخیره بشه.

برچسب ها :
  • دیتابیس
نظر خود را بنویسید...