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

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

131
۱۰ ماه پیش
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 تا که شد بزنید که دیتابیس ذخیره بشه.

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