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

PostgreSQL अनुक्रमित कॉलम पर अनुक्रमिक स्कैन क्यों करता है?

यदि SELECT तालिका में सभी पंक्तियों के लगभग 5-10% से अधिक लौटाता है, तो अनुक्रमिक स्कैन अनुक्रमणिका स्कैन की तुलना में बहुत तेज़ होता है।

ऐसा इसलिए है क्योंकि एक इंडेक्स स्कैन के लिए कई की आवश्यकता होती है प्रत्येक पंक्ति के लिए IO संचालन (सूचकांक में पंक्ति को देखें, फिर पंक्ति को ढेर से पुनर्प्राप्त करें)। जबकि अनुक्रमिक स्कैन के लिए प्रत्येक पंक्ति के लिए केवल एक IO की आवश्यकता होती है - या उससे भी कम क्योंकि डिस्क पर एक ब्लॉक (पृष्ठ) में एक से अधिक पंक्तियाँ होती हैं, इसलिए एक IO ऑपरेशन के साथ एक से अधिक पंक्तियाँ प्राप्त की जा सकती हैं।

बीटीडब्ल्यू:यह अन्य डीबीएमएस के लिए भी सच है - "इंडेक्स केवल स्कैन" के रूप में कुछ अनुकूलन एक तरफ ले जाया गया है (लेकिन एक चयन के लिए * यह अत्यधिक असंभव है कि ऐसा डीबीएमएस "केवल इंडेक्स स्कैन" के लिए जाएगा)



  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 डेटाबेस मॉनिटरिंग:मॉनिटर करने के लिए टिप्स

  2. PostgreSQL में क्वेरी ऑप्टिमाइज़ेशन। मूल बातें समझाएं - भाग 1

  3. होस्ट के लिए कोई pg_hba.conf प्रविष्टि नहीं है

  4. PostgreSQL के साथ समान स्ट्रिंग्स को शीघ्रता से ढूँढना

  5. MigrationSchemaMissing(django_migrations तालिका बनाने में असमर्थ (%s) % exc)