שימוש ב- NOLOCK בהגדרה מוביל ל-Dirty Read ,כלומר סט של נתונים שמעודכנים
ובמקביל נשלפים יתכן ויהיו לא רלוונטים.
בנוסף, בשימוש ב- NOLOCK יתכן ותקבל ספירה כפולה בסיטואציות מסויימות.
כך שם יש משמעות קריטית לסכימות עליך להמנע מהשימוש ב- NOLOCK.
השימוש ב-NOLOCK פותר בעיות של גישות רבות בו זמנית אבל מבטל את הבידוד
הבסיסי של ה- Database בכך שרשומות שעודכנות ולא עברו COMMIT יחזרו על אף שלא
התבצע COMMIT.
אמיר
"תמיר ט.":
במידה והטבלה מרכזית ויש בה הרבה הכנסות, עידכונים וקריאות אתה יכול לבדוק מה
התחומים שבהם המידה כבר סטטי ורק שם לקרוא עם NOLOCK ובשאר לקרוא רגיל.
תמיד יש סיכוי ל- Dirty Read בשימוש ב - Nolock אך אליך לנתח את הפעילות על
הטבלה ולמדוד את הסיכונים.
בכל מקרה לפני שאתה עובד עם NOLOCK תוודא שהפרוצדורות כתובות נכון ושיש שימוש
נכון באינדקסים, סטטיסטיקות מעודכנות, תראה עם אתה יכול להוריד Foreign Key ע"מ
לצמצם את הנעילות על טבלאות הקשר וכו...
"תמיר ט.":