Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

व्युत्पन्न तालिका के लिए SQL सर्वर ROW_NUMBER () से अधिक () की गणना करना

Row_Number() OVER (ORDER BY (SELECT 1)) चाल नहीं होनी चाहिए अंतर्निहित डेटा के क्रम को बदलने से बचने के तरीके के रूप में देखा जा सकता है। यह सर्वर को एक अतिरिक्त और अनावश्यक सॉर्ट करने से रोकने का केवल एक साधन है (यह अभी भी सॉर्ट कर सकता है लेकिन कॉलम द्वारा सॉर्ट करने की तुलना में यह न्यूनतम संभव राशि खर्च करने वाला है)।

SQL सर्वर में सभी क्वेरी बिल्कुल जरूरी एक ORDER BY गारंटीशुदा तरीके से परिणामों को मज़बूती से ऑर्डर करने के लिए सबसे बाहरी क्वेरी में क्लॉज़।

संबंधपरक डेटाबेस में "मूल आदेश बनाए रखना" की अवधारणा मौजूद नहीं है। जब तक ORDER BY . न हो तब तक तालिकाओं और प्रश्नों को हमेशा अनियंत्रित माना जाना चाहिए क्लॉज सबसे बाहरी क्वेरी में निर्दिष्ट है।

आप एक ही अनियंत्रित क्वेरी को 100,000 बार आज़मा सकते हैं और इसे हमेशा उसी क्रम के साथ प्राप्त कर सकते हैं, और इस प्रकार यह विश्वास हो जाता है कि आप उक्त आदेश पर भरोसा कर सकते हैं। लेकिन यह एक गलती होगी, क्योंकि एक दिन कुछ बदलेगा और उसमें वह क्रम नहीं होगा जिसकी आप अपेक्षा करते हैं। एक उदाहरण यह है कि जब किसी डेटाबेस को SQL सर्वर के नए संस्करण में अपग्रेड किया जाता है--इससे कई क्वेरी को अपना क्रम बदलना पड़ता है। लेकिन यह इतना बड़ा बदलाव नहीं होना चाहिए। किसी इंडेक्स को जोड़ने या हटाने जितना कम कुछ अंतर पैदा कर सकता है। और अधिक:सर्विस पैक स्थापित करना। एक तालिका का विभाजन। एक अनुक्रमित दृश्य बनाना जिसमें विचाराधीन तालिका शामिल है। कुछ टिपिंग पॉइंट तक पहुँचना जहाँ एक खोज के बजाय एक स्कैन को चुना जाता है। और इसी तरह।

जब तक आपने "सर्वर, ORDER BY नहीं कहा है, तब तक ऑर्डर किए जाने वाले परिणामों पर भरोसा न करें ".




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में किसी ऑब्जेक्ट की आईडी उसके नाम से प्राप्त करें:OBJECT_ID ()

  2. वित्त कार्यपालकों को DBA के रूप में अपना महत्व कैसे बताएं

  3. SQL सर्वर डेटाबेस में उपयोगकर्ता-परिभाषित तालिकाओं की संख्या की गणना करने के 5 तरीके

  4. पाठ के साथ SQLServer पहचान कॉलम

  5. SQL सर्वर में क्वेरी परिणाम में पंक्तियों की संख्या कैसे वापस करें