2011-10-14 12 views
11

देशी ओरेकल अनुक्रमों का उपयोग करते हुए एक जेपीए/हाइबरनेट एप्लिकेशन में, क्या hibernate_sequence जैसे एकल वैश्विक अनुक्रम का उपयोग करना बेहतर है या प्रति तालिका एक अलग अनुक्रम परिभाषित करना बेहतर है?कौन सा बेहतर है: एकल वैश्विक अनुक्रम बनाम अनुक्रम प्रति तालिका?

ऐसा लगता है कि एक अनुक्रम बनाए रखना आसान है, लेकिन समस्या निवारण या विज्ञापन आईडी को लंबे समय तक कठिन बना सकता है।

+2

क्या आप समझते हैं कि जावा कितना बड़ा है? बहुत से ऐप्स को लंबे समय से आईडी का उपयोग करने से डरना नहीं पड़ता है, भले ही वे सभी वस्तुओं के लिए एक अनुक्रम का उपयोग करते हैं और 100 वर्षों तक दौड़ते हैं। –

+4

यहां इस मुद्दे के बारे में कुछ और चर्चा (http://stackoverflow.com/questions/1536479/asking-for-opinions-one-sequence-for-all-tables) – jeff

+0

हां, मैंने अभी गणित किया और महसूस किया कि चिंता 64-बिट लंबा बहने वाला अवास्तविक है। मैंने अलग-अलग अनुक्रमों का उपयोग करने के लिए एक और अच्छे कारण के बारे में सोचा था, हालांकि: यदि तालिका सामग्री किसी भी तरह से उनके अनुक्रम से अलग हो जाती है, तो आप एक ही तालिका से अधिकतम मूल्य को अधिक आसानी से उत्पन्न कर सकते हैं। – wrschneider

उत्तर

13

हालांकि कैशिंग इसे कम करता है, एक अनुक्रम विवाद का कारण बन सकता है जब कई सत्रों को अगलीवृत्तियों की आवश्यकता होती है। यदि आपके पास सभी तालिकाओं की सेवा करने वाला एक अनुक्रम है तो सभी तालिकाओं पर सभी सम्मिलन एक ही अनुक्रम के लिए संघर्ष करेंगे। यदि आप प्रदर्शन के बाद हैं, तो प्रत्येक तालिका के लिए एक अनुक्रम कम विवाद देगा।

+0

अच्छा बिंदु- इस उत्तर को स्वीकार करते हुए, विवाद एक ऐसी चीज है जिसे मैंने पहले से नहीं सोचा था, हालांकि समवर्ती आवेषण व्यक्तिगत रूप से मेरे लिए कारक होने की संभावना नहीं है। अन्य मुद्दों - समस्या निवारण के लिए कम # की स्पष्टता और सुविधा, बनाम बनाए रखने के लिए ओरेकल वस्तुओं को बनाम, ज्यादातर प्राथमिकता का मामला प्रतीत होता है। – wrschneider

+0

आपको इस धागे में रुचि हो सकती है: https://asktom.oracle.com/pls/asktom/f?p=100:11:451611870226342:::P11_QUESTION_ID:2985886242221 –

1

मैं आपको प्रति तालिका अनुक्रम का उपयोग करने की सलाह दूंगा। यह मेरी किताब में थोड़ा सा क्लीनर है। रोजगार की वर्तमान नियुक्ति पर मानक प्रति तालिका अनुक्रम है।

2

एक एकल अनुक्रम का अर्थ है दो तालिकाओं में कोई मिलान आईडी नहीं। प्रैक्टिस में मुझे यह पसंद है क्योंकि जब आप गलती से गलत टेबल से पूछते हैं तो आप कभी कुछ नहीं प्राप्त कर सकते हैं। डेली के साथ विशेष रूप से उपयोगी। यह एक छोटी सी चीज है लेकिन मुझे यह उपयोगी लगता है।

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