2011-04-03 12 views
5

एक बड़े व्यवसाय में, क्या मुझे NHibernate का उपयोग करते समय डिफ़ॉल्ट रूप से ReadCommitted या ReadUncommited लेनदेन अलगाव स्तर का उपयोग करना चाहिए?NHibernate, क्या मुझे ReadCommitted या ReadUncommited लेनदेन अलगाव स्तर का उपयोग करना चाहिए?

ReadCommitted अलगाव का उपयोग करके, मुझे कुछ चुनने (क्वेरी) कथन पर लॉकिंग का सामना करना पड़ रहा है जो धीमा हो जाता है।

उत्तर

7

ठीक है, अगर आप एसक्यूएल सर्वर का उपयोग कर रहे हैं और रीड कॉमेटेड टाइमआउट/लॉक के साथ समस्याएं हैं, तो यह आसानी से समझा जा सकता है। आपको शायद इसे चलाने के लिए है:

ALTER DATABASE your_db SET SINGLE_USER WITH ROLLBACK IMMEDIATE ; 
ALTER DATABASE your_db SET READ_COMMITTED_SNAPSHOT ON; 
ALTER DATABASE your_db SET MULTI_USER; 

इसे आजमाएं और फिर अपने पढ़ने योग्य दृष्टिकोण को दोबारा शुरू करें। मैं इसके साथ रहूंगा।

+0

मुझे रीड कॉमेटेड लेनदेन के दौरान लॉकिंग के साथ एक ही समस्या थी। मेरा सवाल है, यह इसे क्यों हल करता है? क्या यह शुरुआत से काम नहीं करना चाहिए? फिर भी धन्यवाद! – jinxen

6

सवाल का मूल:

मैं का उपयोग करना चाहिए ReadCommitted या ReadUncommited लेनदेन अलगाव स्तर?

अच्छा, वे अलग-अलग परिणाम दे सकते हैं। तो आप वास्तव में पूछ रहे हैं:

क्या मैं तेज़ होने पर अलग-अलग परिणाम-सेट का उपयोग कर सकता हूं?

उत्तर आवेदन पर निर्भर करता है, केवल आप ही निर्णय ले सकते हैं। लेकिन सामान्य ग्राहकों में, विशेष रूप से बड़े व्यवसाय, इस के लिए बहुत सहनशील नहीं हैं।

संबंधित मुद्दे