كيف يمكنني تجنب قراءة الأقفال في قاعدة البيانات الخاصة بي ؟

StackOverflow https://stackoverflow.com/questions/37095

سؤال

كيف يمكنني تجنب قراءة الأقفال في قاعدة البيانات الخاصة بي ؟

إجابات عن قواعد بيانات متعددة مرحبا!

هل كانت مفيدة؟

المحلول

في أوراكل الوضع الافتراضي من العملية هو قراءة المرتكبة مستوى العزل حيث حدد البيان لا يتم حظر من قبل المعاملة آخر تعديل البيانات هو القراءة.من البيانات التزامن والتناسق:

كل استعلام تنفيذها من خلال صفقة يرى إلا البيانات التي ارتكبت قبل الاستعلام (غير المعاملة) بدأت.Oracle الاستعلام لم يقرأ القذرة (غير ملتزم) البيانات.

نصائح أخرى

في SQL Server يمكنك استخدام مع(nolock) الكلمة في تحديد البيانات.على سبيل المثال:

Select table1.columna, table2.columna
from table1 with(nolock), table2 with(nolock)

تأكد من تحديد مع(nolock) لكل جدول/عرض في الاستعلام.

جيف أتوود لديه وظيفة جيدة في هذا الموضوع:

http://www.codinghorror.com/blog/archives/001166.html

في فايربيرد الكتاب لم كتلة القراء وليس هناك أي القذرة-يقرأ.قراءة فقط-ارتكبت و لقطة مستويات العزل.
ويستخدم متعددة الأجيال المحرك (مثل أوراكل أعتقد) بدلا من صفحة بسيطة أو تأمين السجل.

كيو يستخدم أيضا MVCC (نسخة متعددة التزامن التحكم) ، وذلك باستخدام الافتراضي مستوى عزل المعاملة (قراءة-ملتزم), يجب أن لا كتلة ، إلا شخص القيام maintainace على ال DB (اسقاط / إضافة أعمدة / طاولات / الفهارس / الخ).

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top