2010-02-03 14 views
8

मैं अपनी कुछ इकाइयों को पहचान से हिलो आईडी-जनरेटर में स्विच करने जा रहा हूं।एनएचबेर्नेट और हिलो जनरेटर: कुंजी-टेबल कैसे डिज़ाइन करें?

मुझे कोई सुराग नहीं है कि अगले उच्च मूल्य वाले टेबल को कैसे डिजाइन किया जाना चाहिए।

  • क्या मुझे सभी इकाइयों के लिए, या संबंधित इकाइयों के समूह के लिए एक ही तालिका का उपयोग करना चाहिए?
  • क्या मुझे प्रत्येक इकाई के लिए एक और तालिका का उपयोग करना चाहिए?
  • क्या मुझे एक पंक्ति का उपयोग किसी अन्य पंक्ति या कॉलम प्रति इकाई के साथ करना चाहिए?

क्या कोई सर्वोत्तम प्रथा है? क्या विचार किया जाना चाहिए? क्या किसी भी दृष्टिकोण के लिए कोई पेशेवर या विपक्ष है?

उत्तर

3

मैं वहाँ एक भी "सर्वश्रेष्ठ" अभ्यास नहीं लगता कि, लेकिन यह समझने के लिए कि हिलो काम करता है महत्वपूर्ण है:

  • तालिका हिलो जनरेटर डेटाबेस जो दृश्यों, जो एक और अधिक कर रहे हैं का समर्थन नहीं करते के लिए डिज़ाइन किया गया है इस काम के लिए प्राकृतिक फिट।
  • एक वर्ग के लिए हाय मूल्य लिया गया और पहली बार जब आप उस वर्ग का एक उदाहरण बचाने अद्यतन किया जाता है, या आप लो मूल्यों से बाहर चलाने के लिए जब।
  • एक अलग हाय प्रत्येक वर्ग के लिए मूल्य का उपयोग किया जाता है।

    • विवाद:

    तो, आप कम से कम दो चरों पर विचार करना होगा। अलग-अलग टेबल

  • रेंज का उपयोग करके आप प्रदर्शन थोड़ा में सुधार कर सकते हैं। एक बहुत बड़े डेटाबेस के साथ, आपको हाय मानों से अंततः समाप्त होने का बड़ा जोखिम है।

इस पर विचार करने के बाद, यह सिर्फ स्वाद का विषय है।

+0

तो आप अलग-अलग तालिकाओं का उपयोग करने पर विचार करेंगे? अवधारणा: क्या आप समवर्ती लेनदेन का मतलब है? एक टेबल को प्रदर्शन को कैसे प्रभावित करना चाहिए? उस पर ताले से? दूसरी तरफ, कई तालिकाओं का उपयोग करते समय प्रत्येक चयनित तालिका के लिए एक और चयन और अद्यतन होते हैं। एक मिश्रण उपयोगी हो सकता है: संबंधित तालिकाओं के प्रत्येक समूह के लिए एक टेबल। –

+0

हां, मैं ताले की वजह से अलग टेबल का उपयोग करता हूं। चयन/अपडेट की मात्रा समान है, क्योंकि जनरेटर मान कक्षाओं के बीच साझा नहीं होते हैं, भले ही आप एक ही तालिका का उपयोग करते हों। फिर, मुख्य अवधारणा को ध्यान में रखें: यह सिर्फ अनुक्रम जनरेटर के रूप में एक तालिका का उपयोग कर रहा है। –

+0

चुनिंदा/अपडेट की मात्रा क्यों समान है? जब मेरे पास एक ही टेबल हो, तो उसे प्रत्येक कक्षा के लिए उसी तालिका का चयन और अद्यतन क्यों करना चाहिए जिसके लिए इसे आईडी की आवश्यकता है? –