نمایش نتایج 1 تا 3 از 3

نام تاپیک: درخواست راهنمایی در مورد جلوگیری از dead lock برای جدولی با تعداد تراکنش های بالا

  1. #1

    Exclamation درخواست راهنمایی در مورد جلوگیری از dead lock برای جدولی با تعداد تراکنش های بالا

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



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


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


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


    Update


    و حذف رکوردها





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




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


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



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


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


    با احترام



    آخرین ویرایش به وسیله leila.net : دوشنبه 28 تیر 1395 در 18:18 عصر

  2. #2

    نقل قول: درخواست راهنمایی در مورد جلوگیری از dead lock برای جدولی با تعداد تراکنش های بالا

    سلام
    1. بررسی عدم تکراری بودن رو با Unique constraint انجام بدید.
    2. ایندکس های اضافی رو حذف کنید.
    3. BULK Insert در صورت امکان.
    4. Fill Factor ایندکس های جدول رو روی عددی مثل 50 بگذارید.

  3. #3

    نقل قول: درخواست راهنمایی در مورد جلوگیری از dead lock برای جدولی با تعداد تراکنش های بالا

    نقل قول نوشته شده توسط tooraj_azizi_1035 مشاهده تاپیک
    سلام
    1. بررسی عدم تکراری بودن رو با Unique constraint انجام بدید.
    2. ایندکس های اضافی رو حذف کنید.
    3. BULK Insert در صورت امکان.
    4. Fill Factor ایندکس های جدول رو روی عددی مثل 50 بگذارید.

    ممنون بابت پاسخ تون
    با توجه به اینکه عدم تکراری بودن باید توی دو تا جدول بررسی بشه به تنهایی نمیشه از unique constraint استفاده کنم.
    بله با بررسی index usage statistics ، ایندکس های اضافی رو قبلا حذف کردم
    برای insert همانطور که عرض کردم از table type استفاده می کنم . مطمون نیستم این هم همان مفهومی که شما از bulk insert در نظر دارید ، دارد یا خیر ؟
    fill factor رو الان رو 70 ست کردم تا نتیجه رو بررسی کنم . بعد در صورت نیاز افزایش یا کاهش بدم .

    باز هم ممنون از پاسخگویی تون

تاپیک های مشابه

  1. پاسخ: 4
    آخرین پست: یک شنبه 22 دی 1392, 08:41 صبح
  2. درخواست راهنمایی در مورد استفاده از Unit Test در NET.
    نوشته شده توسط sahare در بخش C#‎‎
    پاسخ: 4
    آخرین پست: دوشنبه 29 مهر 1392, 20:06 عصر
  3. سوال: درخواست راهنمایی در مورد استفاده از نقشه شهرهای ایران
    نوشته شده توسط Hadiir.net در بخش VB.NET
    پاسخ: 0
    آخرین پست: شنبه 05 مرداد 1392, 05:06 صبح
  4. سوال: درخواست راهنمايي در مورد استفاده از treeview
    نوشته شده توسط dab_hrd در بخش C#‎‎
    پاسخ: 10
    آخرین پست: پنج شنبه 26 بهمن 1391, 23:34 عصر
  5. پاسخ: 6
    آخرین پست: شنبه 04 آذر 1391, 23:35 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •