avatar
شاهی

کاربر

  • 1400/06/04
  • 0
  • 195
1400/06/04 |
backend

آیا حذف منطقی جدول را سنگین و performance برنامه را بدتر نمیکند؟

سلام بر باگتو

من یک سوال در مورد حذف داشتم.
گفتیم که ما دو نوع حذف داریم: حذف فیزیکی و حذف منطقی
سوالم در رابطه با حذف منطقی هست.
با توجه به اینکه در حذف منطقی ما برای یه فیلد از جدول داریم ، یک true یا false ست میکنیم  و مثلا میگیم اگه مقدار  برای اون محصول false بود، یعنی محصول حذف شده است.
با توجه به اینکه اون محصول، حذف منطقی شده ولی همچنان در جدول محصولات و در کنار دیگر محصولات حذف نشده، هست، و از طرفی هم با افزوده شدن محصولات بیشتر، جدول سنگین و سنگین تر میشه و مثلا در سرچ ها این جدول سنگین ممکنه خطرناک بشه و کارایی برنامه ما رو خراب کنه،

آیا در برنامه های واقعی به این شکلی که در ویدیو های باگتو گفته میشه(یعنی همین حذف منطقی) عمل میشه؟ اگر بله، ما نباید نگران سنگین شدن جدول باشیم؟

ممنون از باگتو


سلام

اولا سنگینی بانک اطلاعات با 1000 تا 2000 تا رکورد نیست و رکوردها باید میلیونی و چند صد میلیونی باشه

دوم حجم دیتابیس است که افرادی که برای پروژه های بزرک برنامه نویسی میکنن روی فیلدهای بانک اطلاعات خیلی تمرکز میکنند تا بانک با فضای بیخودی سنگین نشه مثلا فیلد از نوع bigint با int تقریبا 2 برابر فضا اشغال میکنه و اگر واقعا به bigint نیازی نیست نباید تعریف بشه

سوم در جستجو ایندکس گزاری میشه و سرعت فوق العاده افزایش پیدا میکنه و شما با فیلتر کردن اطلاعات به این سرعت بالا کمک میکنید و رکوردهای حذف شده تاثیری در این خصوص ندارند

چهارم اینکه در پروژه های بزرگ که تعداد رکوردها زیاده حذف منطقی باعث میشه کاربر خاطی و اشکال دار مورد توجه قرار بگیره و بهش تذکر داده بشه وگرنه چرا باید رکورد حذف شه میشه اصلاح کرد و به نام کالا، محصول و یا هر نوع دیگه ای که هست ویرایش بشه

پس در کل اگر نگران سنگین شدن جدولت هستی از لحاظ مقدار فضایی که یک رکورد استفاده میکنه بیشتر تمرکز داشته باش و ایندکس گزاری کن و نگران مابقی کارها نباش چون قراره روس سرور با امکانات بالا آپلود بشه و اون کارها رو انجام میده



پاسخی برای این باگ ارسال کنید

لطفا کدها را درون قطعه کد ارسال نمایید

برای ارسال پاسخ باید وارد حساب کاربری خود شوید
ورود به حساب کاربری