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

ओरेकल में पेजिनेशन के लिए सर्वोत्तम अभ्यास?

यदि आप पहले से ही एनालिटिक्स का उपयोग कर रहे हैं (ROW_NUMBER() OVER ... ) फिर उसी विभाजन पर एक और विश्लेषणात्मक कार्य जोड़ने से क्वेरी में एक नगण्य लागत जुड़ जाएगी।

दूसरी ओर, पेजिनेशन करने के कई अन्य तरीके हैं, उनमें से एक rownum का उपयोग कर रहा है। :

SELECT * 
  FROM (SELECT A.*, rownum rn
          FROM (SELECT *
                  FROM your_table
                 ORDER BY col) A
         WHERE rownum <= :Y)
 WHERE rn >= :X

यदि आपके पास ऑर्डरिंग कॉलम पर उपयुक्त अनुक्रमणिका है तो यह विधि बेहतर होगी। इस मामले में, दो प्रश्नों का उपयोग करना अधिक कुशल हो सकता है (पंक्तियों की कुल संख्या के लिए एक, परिणाम के लिए एक)।

दोनों विधियां उपयुक्त हैं लेकिन सामान्य तौर पर यदि आप पंक्तियों की संख्या और एक पृष्ठ पर अंक लगाना दोनों चाहते हैं तो विश्लेषण का उपयोग करना अधिक कुशल है क्योंकि आप केवल एक बार पंक्तियों को क्वेरी करते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. विंडोज़ पर Oracle 9i डेवलपर सूट 2.0 स्थापित करना

  2. Entity Framework के साथ स्थापना के बिना काम करने के लिए ODP.NET को परिनियोजित और कॉन्फ़िगर करना

  3. Membership.ValidateUser VS 2010 / .NET 4.0 में अपग्रेड करने के बाद हमेशा गलत रिटर्न देता है

  4. ORA-00900 का समाधान कैसे करें

  5. Oracle में DatedIFF फ़ंक्शन