के साथ पेजिंग मैं ओरेकल से परिचित नहीं हूं जैसा कि मैं बनना चाहता हूं। मेरे पास कुछ 250k रिकॉर्ड हैं, और मैं उन्हें प्रति पृष्ठ 100 प्रदर्शित करना चाहता हूं। वर्तमान में मेरे पास एक संग्रहीत प्रक्रिया है जो एक डेटा एडाप्टर, और डेटासेट, और डेटा एडाप्टर का उपयोग कर डेटासेट में दस लाख रिकॉर्ड की सभी तिमाही पुनर्प्राप्त करता है। संग्रहीत प्रो से परिणामों पर भरें (डेटासेट) विधि। यदि मेरे पास पूर्णांक मान के रूप में "पृष्ठ संख्या" और "प्रति पृष्ठ रिकॉर्ड की संख्या" है, तो मैं पैरामीटर के रूप में पास कर सकता हूं, केवल उस विशेष अनुभाग को वापस पाने का सबसे अच्छा तरीका क्या होगा। कहें, अगर मैं पेज नंबर के रूप में 10 पास करता हूं, और 120 पेजों की संख्या के रूप में चुनिंदा बयान से, तो मुझे 1880 वें से 1200 वें, या ऐसा कुछ भी मिलेगा, मेरे सिर में मेरा गणित बंद हो सकता है।ओरेकल
मैं इसे .NET के साथ .NET में कर रहा हूं, सोचा कि यह महत्वपूर्ण नहीं है, अगर मैं इसे एसक्यूएल पक्ष पर सही कर सकता हूं, तो मुझे ठंडा होना चाहिए।
अपडेट: मैं ब्रायन के सुझाव का उपयोग करने में सक्षम था, और यह बहुत अच्छा काम कर रहा है। मैं कुछ अनुकूलन पर काम करना चाहता हूं, लेकिन पेज एक मिनट के बजाय 4 से 5 सेकंड में आ रहे हैं, और मेरा पेजिंग नियंत्रण मेरी नई संग्रहित प्रोसेस के साथ बहुत अच्छी तरह से एकीकृत करने में सक्षम था।
ROWNUM एक आरक्षित शब्द है जारी करके अपने Oracle संस्करण की जाँच कर सकते हैं? –
हां यह ओरेकल का एक 'निर्मित' कॉलम है, यह हमेशा 1 से शुरू होता है और प्रत्येक पंक्ति के लिए वृद्धि करता है। तो कोड के इस स्निपेट में, यदि आपके पास 1000 पंक्तियां हैं, तो सॉर्ट ऑर्डर लागू होता है और फिर प्रत्येक पंक्ति को राउनम असाइन किया जाता है। बाहरी चयन (ओं) उन पृष्ठों की संख्या का पता लगाने के लिए करते हैं जिन्हें आप अपने पेजसाइज के आधार पर देख रहे हैं। –
यह अच्छा है, लेकिन बड़े चयनों पर बहुत धीमा है, बस जांचें कि 0 से 1000 और 500.000 से 501.000 का चयन करने का समय क्या होगा ... मैं इस तरह की चुनिंदा संरचना का उपयोग कर रहा था, अब मैं एक वर्कअराउंड खोज रहा हूं। – newhouse