هناك العديد من طرق الاستعلام عن الترحيل، وسأنضم إليها هنا.
يوجد إعداد Set Rowcount في SQL Server، مما يعني أن معالجة الأمر تتوقف عن معالجة الأمر بعد الاستجابة لعدد محدد من الصفوف. باستخدام هذه الميزة، يمكننا استخدامها لتحقيق أداء عالٍ في عشرات الملايين من مستوى الصفوف جدول بيانات الأداء. لنتحدث أولاً عن طريقة التنفيذ:
1. لنفترض أن هناك معرف حقل المفتاح الأساسي (نوع عدد صحيح) في الجدول الذي تمت فهرسته، وسنقوم بجلب البيانات للترحيل وفقًا لهذا الحقل.
2. نضع حجم الصفحة في @PageSize
3. نضع رقم الصفحة الحالية في @CurrentPage
4. كيف يمكن تمرير مؤشر التسجيل بسرعة إلى الصف الموجود في بداية البيانات التي نريد استردادها، هذا هو المفتاح! باستخدام Set RowCount، يمكننا تنفيذه بسهولة.
5. إذا نجحنا في تمرير مؤشر السجل إلى الصف في بداية البيانات التي نريد جلبها، ثم سجلنا قيمة حقل معرف السجل في ذلك الصف، فيمكننا بسهولة الحصول عليها باستخدام الأعلى والشروط صفحة البيانات المحددة. بالطبع، مع Set RowCount، هل مازلنا نستخدم Top؟
دعونا نرى كيف يمكن أن يساعدنا Set Rowcount:
قم بتعريف @ID int
قم بتعريف @MoveRecords int
--@CurrentPage و@PageSize هي المعلمات الواردة
قم بتعيين @MoveRecords=@CurrentPage * @PageSize+1
- يتيح السطران التاليان التمرير السريع إلى صف البيانات التي نريد استردادها، وتسجيل المعرف
قم بتعيين عدد الصفوف @MoveRecords
حدد @ID=ID من Table1 ترتيب حسب المعرف،
قم بتعيين Rowcount @PageSize
--أنا أكره استخدام * لتقليل المشاكل، ولكن لتسهيل الشرح، سأستخدمها مؤقتًا.
حدد * من الجدول 1 حيث المعرف>=@ID الترتيب حسب المعرف
تعيين عدد الصفوف 0
يمكنك تجربتها في جدول يحتوي على سجلات تبلغ 1000 واط، ويمكنك تحويل الصفحة بسرعة إلى الصفحة 100 (100 إدخال لكل صفحة) ومعرفة مدى سرعتها!
المصدر: مدونة نانفينج
http://name-lh.cnblogs.com/archive/2006/03/08/346059.html