मैं सोच रहा था कि एसक्यूएल-सर्वर डेटाबेस में किसी तालिका पर पंक्तिवर्ती कॉलम जोड़ने का प्रदर्शन प्रभाव था या नहीं?रोवर्सन और प्रदर्शन
उत्तर
कुछ प्रदर्शन प्रभाव हैं, पंक्तिवर्ती पुराने टाइमस्टैम्प डेटाटाइप के लिए सिर्फ एक नया नाम है। तो आपके डेटाबेस को अतिरिक्त बाइनरी फ़ील्ड को स्टोर करने की आवश्यकता होगी।
SELECT *
FROM MyTable
WHERE rowVersion > @rowVersion
कौन सा आम तरीका है कि पिछले @rowVersion के बाद से अपडेट किए गए आइटम की सूची प्राप्त करने के लिए इस्तेमाल किया जा सकता है: अपने प्रदर्शन जब आप इस तरह के रूप में इस डेटा के आधार पर प्रश्नों करने की कोशिश भी बहुत कुछ भुगतना होगा। यह ठीक दिखता है और 10,000 पंक्तियों के साथ एक टेबल के लिए सही काम करेगा। लेकिन जब आप 1 एम पंक्तियों तक पहुंच जाते हैं तो आप जल्दी से पता लगाएंगे कि यह हमेशा एक टेबलकेन कर रहा है और आपका प्रदर्शन हिट है क्योंकि आपकी तालिका अब पूरी तरह से सर्वर की रैम के भीतर फिट बैठती है।
यह सामान्य समस्या है जो rowVersion
कॉलम के साथ सामना की जाती है, यह अपने आप पर जादुई रूप से अनुक्रमित नहीं है। साथ ही, जब आप एक पंक्ति वर्जन कॉलम को इंडेक्स करते हैं तो आपको यह स्वीकार करना होगा कि इंडेक्स अक्सर समय के साथ बहुत खंडित हो जाएगा, क्योंकि नए अपडेट किए गए मान इंडेक्स के निचले हिस्से में हमेशा होते जा रहे हैं, जब आप मौजूदा आइटम अपडेट करते हैं तो इंडेक्स में अंतर को छोड़कर ।
संपादित करें: यदि आप अद्यतन आइटम की जांच के लिए rowVersion
फ़ील्ड का उपयोग नहीं कर रहे हैं और इसके बजाय आप यह सुनिश्चित करने के लिए स्थिरता के लिए इसका उपयोग करने जा रहे हैं कि रिकॉर्ड को अंतिम बार पढ़ने के बाद अपडेट नहीं किया गया है, तो यह जा रहा है पूरी तरह से स्वीकार्य उपयोग होने के लिए और प्रभावित नहीं होगा।
UPDATE MyTable SET MyField = ' @myField
WHERE Key = @key AND rowVersion = @rowVersion
- 1. एनम और प्रदर्शन
- 2. प्रदर्शन काउंटर और थ्रेडिंग
- 3. पायथन थ्रेडिंग और प्रदर्शन?
- 4. साझा पॉइंटर्स और प्रदर्शन
- 5. ऐपडोमेन संचार और प्रदर्शन
- 6. टेराकोटा प्रदर्शन और टिप्स
- 7. निनजा और प्रदर्शन
- 8. समवर्ती कनेक्शन और प्रदर्शन?
- 9. OCaml मॉड्यूल और प्रदर्शन
- 10. जीसी.कोलेक्ट() और प्रदर्शन काउंटर
- 11. प्रदर्शन और सॉर्टिंग, और mysql और php
- 12. एप्लिकेशन प्रदर्शन और खुफिया सुधार
- 13. एफ # स्वचालित सामान्यीकरण और प्रदर्शन
- 14. जीडब्ल्यूटी फ्लेक्सटेबल प्रदर्शन और अनुकूलन
- 15. GestureOverlayView और GestureDetector का प्रदर्शन
- 16. एकाधिक सीएसएस फ़ाइलें और प्रदर्शन
- 17. activemq प्रदर्शन गॉथैस और सावधानी
- 18. jQuery कोड संगठन और प्रदर्शन
- 19. Linq गणना पद्धति और प्रदर्शन
- 20. एफ # इंटरैक्टिव और प्रदर्शन प्रोफाइलर्स
- 21. एसईएल प्रदर्शन चयनकर्ता और तर्क
- 22. Jquery। शो() और प्रदर्शन: इनलाइन
- 23. फ़्लोटिंग पॉइंट रूपांतरण और प्रदर्शन
- 24. एक्सएमएल संचालित GUIs और प्रदर्शन
- 25. आईआईएस वेब उद्यान और प्रदर्शन
- 26. रेपा 3 प्रदर्शन और 'अब'
- 27. मल्टी-थ्रेडेड प्रदर्शन और प्रोफाइलिंग
- 28. जावास्क्रिप्ट और सीएसएस पार्सिंग प्रदर्शन
- 29. प्रदर्शन और एक पाठ क्षेत्र
- 30. MySQL प्रदर्शन और चर tweaking
क्या तुलना में? यदि आपको एक पंक्तिवर्ती की आवश्यकता है, तो आपको एक पंक्तिवृत्ति की आवश्यकता है .... –
मैं मिच से सहमत हूं। यदि आपको इसकी आवश्यकता है, तो इसे बदलने के लिए आप किस कामकाज का उपयोग करेंगे? – gbn
संभावित डुप्लिकेट [क्या पंक्तिवर्ती/टाइमस्टैम्प प्रदर्शन को महत्वपूर्ण रूप से प्रभावित करता है?] (Http://stackoverflow.com/questions/7217062/does-rowversion-timestamp-affects-performance-ignificantly) –