मेरे पास एक Employeeतालिका है जिसमें एक मिलियन रिकॉर्ड हैं। मैं एक वेब अनुप्रयोग में डेटा पेजिंग के लिए एसक्यूएल का पालन कर रहा हूं। यह ठीक काम कर रहा है। हालाँकि मैं एक मुद्दे के रूप में जो देख रहा हूं वह है - व्युत्पन्न तालिका तालिका में tblEmployeeसभी रिकॉर्ड Employee( MyRowNumberमान बनाने के लिए ) का चयन करती है।
मुझे लगता है, यह Employeeतालिका में सभी रिकॉर्डों के चयन का कारण बनता है ।
क्या यह वास्तव में ऐसा काम करता है? या SQL सर्वर मूल Employeeतालिका से केवल 5 रिकॉर्ड का चयन करने के लिए अनुकूलित है?
DECLARE @Index INT;
DECLARE @PageSize INT;
SET @Index = 3;
SET @PageSize = 5;
SELECT * FROM
(SELECT ROW_NUMBER() OVER (ORDER BY EmpID asc) as MyRowNumber,*
FROM Employee) tblEmployee
WHERE MyRowNumber BETWEEN ( ((@Index - 1) * @PageSize )+ 1) AND @Index*@PageSize