Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

47 ms

Page Size

50

Current Page

431 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 431 Results Showing 21501 - 21550 of 24441

ID Name Category Price Stock Rating Reviews SKU
22060 Bulk Product c150f470 Sports & Outdoors $695.64 480 3.7 2 BULK-8b0d1879
22061 Bulk Product 67f2fbd8 Books $855.98 138 4.8 89 BULK-49cc7227
22062 Bulk Product 62f35c13 Books $543.26 43 0.4 60 BULK-040facbc
22063 Bulk Product af2922e0 Books $694.80 21 4.4 8 BULK-99e36183
22064 Bulk Product 160321c5 Books $207.57 104 2.4 49 BULK-058ba89d
22065 Bulk Product deab9181 Sports & Outdoors $13.69 331 4.6 54 BULK-4451b079
22066 Bulk Product 1b7dd52c Electronics $501.09 492 1.9 30 BULK-e5abb2e6
22067 Bulk Product 3551f226 Clothing $450.82 242 4.8 60 BULK-d69bf475
22068 Bulk Product e111cfc7 Toys & Games $465.92 55 0.7 84 BULK-2c93c21f
22069 Bulk Product 1a11c887 Sports & Outdoors $476.68 161 3.3 45 BULK-b2847dc9
22070 Bulk Product 72de26a3 Toys & Games $909.90 198 2.2 97 BULK-5bc9bc53
22071 Bulk Product b2c3a377 Home & Garden $380.42 168 1.2 18 BULK-b70617b1
22072 Bulk Product 6bd2093b Clothing $661.75 180 3.0 46 BULK-28885ece
22073 Bulk Product 10ff85a7 Sports & Outdoors $260.17 142 1.3 97 BULK-a6cc9ca0
22074 Bulk Product 543c146c Home & Garden $992.78 482 1.2 26 BULK-13dbd33b
22075 Bulk Product b3dc5cfb Sports & Outdoors $113.36 82 0.3 27 BULK-b559fb64
22076 Bulk Product 9b94f5d0 Sports & Outdoors $269.12 184 0.5 33 BULK-22d3073c
22077 Bulk Product 1ac7a55b Clothing $909.73 487 4.4 10 BULK-1e7cba61
22078 Bulk Product f1cff124 Clothing $749.05 201 2.0 41 BULK-342108a2
22079 Bulk Product 9e2663d6 Books $818.59 166 3.5 65 BULK-25e8728d
22080 Bulk Product 5fe1317b Home & Garden $955.22 70 2.7 36 BULK-aefd6bdf
22081 Bulk Product 8f2dd0d5 Home & Garden $36.20 87 4.6 72 BULK-4bcbd87e
22082 Bulk Product de95a406 Home & Garden $117.02 371 0.4 9 BULK-a15bfa63
22083 Bulk Product ee6cda7d Electronics $1,006.44 23 2.2 76 BULK-5ffab938
22084 Bulk Product ac554675 Books $71.53 31 0.6 94 BULK-292c7fc3
22085 Bulk Product 0c226490 Clothing $214.92 61 3.1 32 BULK-1f153c8d
22086 Bulk Product 06bc8963 Electronics $286.56 71 2.7 38 BULK-adb208d0
22087 Bulk Product 21a54092 Clothing $239.00 331 4.1 30 BULK-a1992db2
22088 Bulk Product f8da858a Clothing $182.17 404 4.1 15 BULK-9429a0c9
22089 Bulk Product e37f7f57 Books $1,002.18 286 0.7 2 BULK-3ff0a52f
22090 Bulk Product 8245d1ab Home & Garden $730.36 15 4.7 49 BULK-3bf88206
22091 Bulk Product 35f8aab8 Home & Garden $283.02 129 4.3 62 BULK-6eaccb23
22092 Bulk Product 5e57e4db Sports & Outdoors $867.61 338 3.0 4 BULK-acd4c7c8
22093 Bulk Product 338d5ba6 Electronics $510.04 92 0.6 99 BULK-7bd3cf8c
22094 Bulk Product f4d6bfd7 Books $147.64 345 4.3 15 BULK-ab51683a
22095 Bulk Product f6ca3ef5 Toys & Games $81.53 284 0.5 52 BULK-a13ffe26
22096 Bulk Product c2b5e31b Home & Garden $399.17 488 4.9 83 BULK-7fcf3c50
22097 Bulk Product 1b0a4648 Toys & Games $129.74 146 2.2 40 BULK-83dd3eb6
22098 Bulk Product 6119755a Electronics $218.74 226 2.8 99 BULK-b10bf49b
22099 Bulk Product ecda17a3 Home & Garden $1,005.98 197 4.0 45 BULK-fafe0401
22100 Bulk Product a4260607 Sports & Outdoors $915.77 7 3.4 15 BULK-1591afdc
22101 Bulk Product 26e9c53e Books $258.17 433 0.2 9 BULK-32e09fc3
22102 Bulk Product f575d9b9 Toys & Games $791.37 93 2.9 12 BULK-262d1d69
22103 Bulk Product a5bc50cd Clothing $664.62 72 2.5 91 BULK-a4968f72
22104 Bulk Product 3e240db3 Electronics $545.01 61 4.4 16 BULK-157ab908
22105 Bulk Product 21033939 Clothing $458.18 28 4.8 43 BULK-0f0196ee
22106 Bulk Product 55f038fd Home & Garden $165.75 130 3.6 81 BULK-9aa2230e
22107 Bulk Product b0b434a9 Toys & Games $782.44 453 2.7 34 BULK-e4285e6f
22108 Bulk Product d674d2fc Sports & Outdoors $160.69 240 3.5 41 BULK-d9a7af8d
22109 Bulk Product 1a003907 Clothing $739.35 402 1.2 50 BULK-80b0b5c7
Implementation Code
// Efficient pagination with Skip and Take
public async Task<PaginatedResult<DemoProduct>> GetPaginatedProductsAsync(int page, int pageSize)
{
    // Get total count (cached if possible)
    var totalCount = await _context.DemoProducts.CountAsync(p => p.IsActive);
    
    // Get page of results
    var items = await _context.DemoProducts
        .Where(p => p.IsActive)
        .OrderBy(p => p.Id) // Important: Must have ORDER BY for consistent paging
        .Skip((page - 1) * pageSize) // OFFSET in SQL
        .Take(pageSize) // FETCH NEXT in SQL
        .AsNoTracking() // No tracking needed for read-only
        .ToListAsync();

    return new PaginatedResult<DemoProduct>
    {
        Items = items,
        TotalCount = totalCount,
        Page = page,
        PageSize = pageSize
    };
}
Pagination Best Practices
  • Always use OrderBy: Skip/Take require stable sorting for consistent results
  • Use AsNoTracking(): Pagination queries are typically read-only
  • Consider caching: Cache total count if dataset changes infrequently
  • Limit max page size: Prevent users from requesting too many records at once
  • Use indexed columns: Ensure ORDER BY columns are indexed for performance