با عرض سلام و وقت بخیر

اما سوال بنده :


جدولی دارم که تعداد تراکنش های روی این جدول زیاد هست.
همزمان


insert بصورت انبوه با استفاده از table type ی که تعریف کرده ام انجام می شود حدود 1000 تا 10000 رکورد همزمان و البته همزمان با insert بررسی عدم تکراری بودن مقادیر insert شده بر روی یک فیلد از نوع nvarchar(2000) که با استفاده از not exists بر روی فیلد مورد نظر صورت می گیرد ،


Update


و حذف رکوردها





خب همین تراکنش ها هم سمت application بصورت parallel هم اجرا می شود




و نهایتا نتیحه شده تعداد lock های زیادی که بوجود می آید و dead lock on process


در کمتر از یک ساعت fragmentation به بیشتر از 10 و بعضا 20 می رسد
در واقع این جدول برای من یک جدول موقت هست که بعد از انجام تراکنش های مورد نظر ، رکوردهای آن حذف می شود و در صورت بروز خطا ، وضعیت رکوردها به خوانده شده به همراه علت خطا تغییر می کند.


ایندکس های مورد نیاز براساس معلوماتی که در این زمینه داشتم ایجاد شده


در مورد این سناریو ، راه حل پیشنهادی چیست ؟


ممنون می شوم دوستان هم اگر تجربه ای در این زمینه دارند عنوان بفرمایند .


با احترام