मेरे पास एक डेटाबेस क्वेरी है जिसके परिणामस्वरूप एक बड़ा परिणाम सेट किया जा सकता है। क्लाइंट जो डेटा प्रदर्शित करता है वह नेटवर्क पर डेटा प्राप्त करता है, इसलिए विचार डेटाबेस से केवल पहले 50 परिणामों को प्राप्त करके और उन्हें क्लाइंट को भेजने के द्वारा स्थानांतरित डेटा की मात्रा को कम करना था। फिर मैं अगले 50 परिणामों आदि को पुनः प्राप्त करने के लिए दूसरे पृष्ठ पर कूदने की संभावना प्रदान करूँगा (कुछ इसी तरह जैसे कि Google ऑफ़र)
सवाल यह है कि पेजिंग को लागू करने का प्रभावी तरीका क्या है। मैं यह सुनिश्चित करना चाहता हूं कि mssql जितना संभव हो सके कैश का उपयोग करे और यह कि एक बार फिर से निष्पादित नहीं किया जाता है जब मैं पेजिंग बदलता हूं।
अधिक ग्राहक हैं जो एक ही समय में डेटाबेस को क्वेरी कर रहे हैं। प्रयुक्त एसक्यूएल इंजन: एमएस एसक्यूएल 2005
मेरे विचार थे:
- निष्पादन योजना साझाकरण सुनिश्चित करने के लिए तैयार किए गए sql राज्य का उपयोग करें
- केवल आवश्यक पंक्तियों को पुनः प्राप्त करने के लिए ROW_COUNT चर का उपयोग करें
लेकिन क्या यह वास्तव में सबसे प्रभावी तरीका है? या क्या आपको लगता है कि कोड में पेजिंग लागू करने और क्लाइंट को डेटा भेजने वाले पेज पर लागू करने के लिए बेहतर होगा?
आपके सुझावों के लिए धन्यवाद!
सादर, टॉमस