ฉันมีแบบสอบถามฐานข้อมูลซึ่งอาจส่งผลให้ชุดผลลัพธ์ขนาดใหญ่ ลูกค้าที่แสดงข้อมูลได้รับข้อมูลผ่านเครือข่ายดังนั้นแนวคิดก็คือการลดจำนวนข้อมูลที่ถ่ายโอนให้น้อยที่สุดโดยการดึงผลลัพธ์ 50 รายการแรกจากฐานข้อมูลและส่งไปยังลูกค้า จากนั้นฉันจะให้ความเป็นไปได้ที่จะข้ามไปยังหน้าสองเพื่อดึงผลลัพธ์ 50 รายการถัดไปเป็นต้น (คล้าย ๆ กับข้อเสนอของ Google)
คำถามคือวิธีที่มีประสิทธิภาพในการใช้เพจจิ้ง ฉันต้องการตรวจสอบให้แน่ใจว่า mssql ใช้แคชมากที่สุดเท่าที่จะเป็นไปได้และไม่ดำเนินการเดียวกันอีกครั้งทุกครั้งที่ฉันเปลี่ยนเพจ
มีลูกค้าจำนวนมากที่กำลังสืบค้นฐานข้อมูลในเวลาเดียวกัน โปรแกรม sql ที่ใช้: MS SQL 2005
ความคิดของฉันคือ:
- ใช้ statemenst ของ sql ที่เตรียมไว้เพื่อให้แน่ใจว่ามีการแชร์แผนปฏิบัติการ
- ใช้ตัวแปร ROW_COUNT เพื่อดึงเฉพาะแถวที่ต้องการ
แต่มันเป็นวิธีที่มีประสิทธิภาพที่สุดจริง ๆ หรือ? หรือคุณคิดว่าจะเป็นการดีกว่าที่จะดึงชุดผลลัพธ์ทั้งหมดและนำเพจจิ้งไปใช้ในโค้ดที่ส่งข้อมูลไปให้ลูกค้า
ขอบคุณสำหรับเคล็ดลับ!
ขอแสดงความนับถือโทมัส