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

ओरेकल और पेजिनेशन

आपकी क्वेरी को पहले 90M . को गिनना होगा अगला 100 get प्राप्त करने के लिए रिकॉर्ड , इसलिए शायद ही इसमें सुधार की गुंजाइश हो।

मुझे ORDER BY दिखाई नहीं दे रहा है आपके सबक्वायरी में क्लॉज, लेकिन शायद आपके पास है। इस मामले में, आप उस पर एक अनुक्रमणिका बनाना चाह सकते हैं।

और एक प्रश्न:क्या आपके उपयोगकर्ता वास्तव में 900K . के माध्यम से क्लिक करते हैं? प्रदर्शन के बारे में शिकायत करने से पहले पृष्ठ?

अपडेट करें:

यदि आपको नवीनतम पृष्ठ की आवश्यकता है, तो आपको अपना ORDER BY फिर से लिखना होगा अवरोही क्रम में कॉलम:

SELECT  *
FROM    (
        SELECT  rownum rnum, f.*
        FROM    findings f
        ORDER BY
                record_ordering_column DESC
        ) 
WHERE   rnum > 900
        AND rownum <= 100

और record_ordering_column . पर एक इंडेक्स बनाएं

ध्यान दें कि मैं rownum mix मिलाता हूं प्रदर्शन को बेहतर बनाने के लिए नेस्टेड प्रश्नों से है।

अधिक विवरण के लिए मेरे ब्लॉग में यह लेख देखें:



  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 PL/SQL तालिका प्रकार का TO_CHAR

  2. विभिन्न स्थितियों के लिए Oracle आदेश

  3. PostgreSQL या Oracle में तिथि के अनुसार ऑर्डर कैसे करें

  4. अन्य उपयोगकर्ताओं को v$session का चयन एक्सेस प्रदान करें

  5. Oracle क्वेरी का असंगत प्रदर्शन व्यवहार