سلام دوستان عزیزم
امیدوارم سالم باشین
من خیلی توی مشاوره هایی که دیدم ، مشاهده کردم که برای حل مشکل همزمانی و رفع Lock ها و کاهش Blocking ها خیلی از With(nolock) استفاده شده.
به هیچ عنوان روی سیستم های عملیاتی توصیه نمیکنم از این هینت استفاده کنید یا از Isolation level Read uncommitted استفاده کنید.
به خاطر اینکه فرض کنید مثلا شما یک سفارش خریدی رو ثبت کردین که یک سری موجودی در انبار اضافه شده ، ولی هنوز این خرید تایید نشده ، بعد یک نفر دیگه میخواد فروش انجام بده و چون از Nolock استفاده شده میتونه این خرید و تعدادی که اضافه شده رو بخونه وبراساس اون فروش انجام میده، بعد به هردلیلی خرید کنسل میشه و حذف میشه ولی نفر دوم روی اون خرید ، یک فروش انجام داده !!!
یا اینکه ممکنه با توجه به اسکنی که بر روی جدول انجام میشه ، یک اطلاعاتی خوانده بشه بعد در یک سشن دیگه اون دیتا آپدیت بشه و به یک جای جدید منتقل بشه و دوباره در سشن اول اون دیتا خونده بشه و عملا یک اطلاعات دوبار خوانده بشه.
یا ممکنه زمان خواندن اطلاعات ، دیتای شما آپدیت بشه و منتقل بشه به پیجهایی که توسط کانکشن قبلی خوانده شده و این باعث میشه بعضی از اطلاعات خوانده نشه و دیتای غلطی داشته باشین.
پس خواهشا تحت هیچ شرایطی از این دستور در محیطهای عملیاتی استفاده نکنید اگه علاقه ندارین دیتای غلطی وارد چرخه سیستم های شما بشه.
شاد و پرانرژی باشید
حمیدرضا صادقیان
@Hamidreza_Sadeghian
#Nolock
#Read_Uncommitted
امیدوارم سالم باشین
من خیلی توی مشاوره هایی که دیدم ، مشاهده کردم که برای حل مشکل همزمانی و رفع Lock ها و کاهش Blocking ها خیلی از With(nolock) استفاده شده.
به هیچ عنوان روی سیستم های عملیاتی توصیه نمیکنم از این هینت استفاده کنید یا از Isolation level Read uncommitted استفاده کنید.
به خاطر اینکه فرض کنید مثلا شما یک سفارش خریدی رو ثبت کردین که یک سری موجودی در انبار اضافه شده ، ولی هنوز این خرید تایید نشده ، بعد یک نفر دیگه میخواد فروش انجام بده و چون از Nolock استفاده شده میتونه این خرید و تعدادی که اضافه شده رو بخونه وبراساس اون فروش انجام میده، بعد به هردلیلی خرید کنسل میشه و حذف میشه ولی نفر دوم روی اون خرید ، یک فروش انجام داده !!!
یا اینکه ممکنه با توجه به اسکنی که بر روی جدول انجام میشه ، یک اطلاعاتی خوانده بشه بعد در یک سشن دیگه اون دیتا آپدیت بشه و به یک جای جدید منتقل بشه و دوباره در سشن اول اون دیتا خونده بشه و عملا یک اطلاعات دوبار خوانده بشه.
یا ممکنه زمان خواندن اطلاعات ، دیتای شما آپدیت بشه و منتقل بشه به پیجهایی که توسط کانکشن قبلی خوانده شده و این باعث میشه بعضی از اطلاعات خوانده نشه و دیتای غلطی داشته باشین.
پس خواهشا تحت هیچ شرایطی از این دستور در محیطهای عملیاتی استفاده نکنید اگه علاقه ندارین دیتای غلطی وارد چرخه سیستم های شما بشه.
شاد و پرانرژی باشید
حمیدرضا صادقیان
@Hamidreza_Sadeghian
#Nolock
#Read_Uncommitted