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

क्या सिलेक्ट की गारंटी ऑर्डर को देखते हुए ऑर्डर करता है?

आप किसी भी क्वेरी में पंक्तियों के क्रम पर भरोसा नहीं कर सकते हैं जिसमें स्पष्ट ORDER BY नहीं है खंड। यदि आप किसी आदेशित दृश्य को क्वेरी करते हैं, लेकिन आप ORDER BY शामिल नहीं करते हैं खंड, सुखद आश्चर्य हो अगर वे सही क्रम में हैं, और इसे फिर से होने की उम्मीद न करें।

ऐसा इसलिए है क्योंकि क्वेरी ऑप्टिमाइज़र क्वेरी, टेबल के आंकड़ों, पंक्तियों की संख्या, इंडेक्स आदि के आधार पर अलग-अलग तरीकों से पंक्तियों तक पहुँचने के लिए स्वतंत्र है। अगर उसे पता है कि आपकी क्वेरी में ORDER BY नहीं है क्लॉज, पंक्तियों को अधिक तेज़ी से वापस करने के लिए (खांसी) क्रम में पंक्ति क्रम को अनदेखा करना मुफ़्त है।

थोड़ा ऑफ-टॉपिक। . .

जाने-माने कोलाजंस के लिए भी जरूरी नहीं कि सभी प्लेटफॉर्म पर सॉर्ट ऑर्डर एक जैसा हो। मैं समझता हूं कि मैक ओएस एक्स पर यूटीएफ -8 को सॉर्ट करना विशेष रूप से अजीब है। (PostgreSQL डेवलपर इसे टूटा हुआ कहते हैं .) PostgreSQL strcoll() पर निर्भर करता है, जिसे मैं समझता हूं कि OS लोकेशंस पर निर्भर करता है।

यह मेरे लिए स्पष्ट नहीं है कि PostgreSQL 9.1 इसे कैसे संभालेगा। 9.1 में, आपके पास एक से अधिक इंडेक्स हो सकते हैं, जिनमें से प्रत्येक का एक अलग संयोजन होता है . एक 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. PostgreSQL 9.5+ . में JSON सरणी से जोड़ना (धक्का देना) और हटाना

  2. PostgreSQL और SQL सर्वर के साथ UUID को हाइबरनेट करें

  3. initdb:pg_authid प्रारंभ कर रहा है ... FATAL:अनुक्रमणिका अभिव्यक्तियों की गलत संख्या

  4. वेबफैक्शन पर Django प्रोजेक्ट को तैनात करना

  5. प्राथमिक कुंजी उल्लंघन त्रुटि के बाद लेनदेन जारी रखना