5
เพจจิ้งทำงานกับ ROW_NUMBER ใน SQL Server ได้อย่างไร
ฉันมีEmployeeตารางที่มีหนึ่งล้านบันทึก ฉันได้ติดตาม SQL สำหรับข้อมูลการเพจในเว็บแอปพลิเคชัน มันทำงานได้ดี อย่างไรก็ตามสิ่งที่ฉันเห็นว่าเป็นปัญหาคือ - ตารางที่ได้รับtblEmployeeจะเลือกระเบียนทั้งหมดในEmployeeตาราง (เพื่อสร้าง MyRowNumberค่า) ฉันคิดว่านี่เป็นสาเหตุของการเลือกระเบียนทั้งหมดในEmployeeตาราง มันใช้งานได้จริงเหรอ? หรือ SQL Server นั้นได้รับการปรับแต่งให้เลือกเฉพาะ 5 ระเบียนจากEmployeeตารางต้นฉบับด้วยหรือไม่ 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 …