ALTER PROCEDURE [dbo].[SP_tblTest_SelectSpecificRecordsWithCTE]
@FromRow int = 1000000,
@PgSize int = 10
AS
BEGIN
;WITH RecordsRN AS
(
select ID, colValue, ROW_NUMBER() over(order by colvalue) as Num from tblTest
)
SELECT ID Value, colValue Text FROM RecordsRN WHERE Num between @FromRow AND (@[email protected])
END
यही वह प्रश्न है जिसका मैं पेजिंग के लिए उपयोग कर रहा हूं। इसका उपयोग करें और आप 4-5 सेकंड में अपने वांछित 10 रिकॉर्ड प्राप्त कर लेंगे। मुझे 3 सेकंड में 10 रिकॉर्ड मिल रहे हैं और मेरे डीबी में कुल रिकॉर्ड 10 मिलियन हैं, शीर्ष 10 का उपयोग न करें, यह हर बार केवल 10 रिकॉर्ड ही लाएगा। मेरे मामले में मैं सत्र में पृष्ठ आकार और पंक्ति संख्या (@FromRow) शुरू कर रहा हूं और मैं इन दो मानों को नीचे दी गई संग्रहीत प्रक्रिया में पास करता हूं और परिणाम प्राप्त करता हूं। इसके अलावा यदि आप SQL 2012 का उपयोग कर रहे हैं तो आप OFFSET का उपयोग करना चाहेंगे और अगली 10 पंक्तियों की तरह की चीज़ प्राप्त करें। Google पर OFFSET कीवर्ड के बारे में खोजें और आप अपना वांछित परिणाम शीर्ष पर देखेंगे।
धन्यवाद