Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

55 ms

Page Size

50

Current Page

102 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 102 Results Showing 5051 - 5100 of 24441

ID Name Category Price Stock Rating Reviews SKU
5610 Bulk Product a63a66b7 Clothing $129.92 483 3.9 92 BULK-d5600f97
5611 Bulk Product c80ac659 Home & Garden $40.67 140 3.3 35 BULK-61bb3956
5612 Bulk Product 79040881 Sports & Outdoors $565.49 169 0.5 48 BULK-23133efe
5613 Bulk Product 20a210bd Books $225.85 288 4.5 94 BULK-b9d468f9
5614 Bulk Product fdd17b66 Toys & Games $697.26 16 1.7 50 BULK-d687dee7
5615 Bulk Product 06baeb28 Toys & Games $847.07 328 2.2 38 BULK-a0b3c049
5616 Bulk Product d5d02161 Toys & Games $465.62 465 3.4 10 BULK-f71d69c3
5617 Bulk Product c5724602 Books $817.08 235 1.0 89 BULK-a5cb81c7
5618 Bulk Product 37144bc2 Sports & Outdoors $539.41 117 4.6 1 BULK-a3c70496
5619 Bulk Product a335c2d2 Clothing $365.50 187 1.7 54 BULK-158fca20
5620 Bulk Product 01be3198 Sports & Outdoors $893.15 152 2.8 18 BULK-3cb92784
5621 Bulk Product 92969364 Books $805.72 118 3.8 15 BULK-e3a58112
5622 Bulk Product b4e29c41 Clothing $477.60 349 1.5 2 BULK-7fd14ea0
5623 Bulk Product 9d5473a8 Toys & Games $353.05 242 0.3 85 BULK-d741a33d
5624 Bulk Product a8efdc30 Home & Garden $685.08 112 1.3 65 BULK-f9a1ebfb
5625 Bulk Product 3d53b04e Electronics $808.95 48 0.3 42 BULK-73b41957
5626 Bulk Product f105b8eb Electronics $46.02 422 1.7 81 BULK-c70dcf83
5627 Bulk Product 8508c6fe Electronics $348.52 128 1.8 86 BULK-a4d0e45d
5628 Bulk Product bd1bba4b Toys & Games $998.10 470 4.6 5 BULK-2e550bbf
5629 Bulk Product 92ae6ca1 Home & Garden $195.54 73 0.8 90 BULK-1801317f
5630 Bulk Product 1a6e8260 Clothing $777.09 93 2.0 45 BULK-ceb2c4dd
5631 Bulk Product 651e293f Toys & Games $673.52 483 1.3 45 BULK-1db1c0cd
5632 Bulk Product ef6915ba Electronics $815.56 418 2.6 15 BULK-6bf3d246
5633 Bulk Product 5b77b6f4 Toys & Games $372.71 37 1.0 57 BULK-58dd921f
5634 Bulk Product b66de828 Toys & Games $976.34 141 3.9 53 BULK-555ac4b9
5635 Bulk Product 9ae3f01d Books $87.17 338 3.1 48 BULK-cd822b23
5636 Bulk Product 010462b2 Books $329.72 436 0.6 93 BULK-1d99962b
5637 Bulk Product 22934e68 Home & Garden $24.45 114 2.2 88 BULK-d3ae0568
5638 Bulk Product 41db7671 Sports & Outdoors $107.46 401 3.4 38 BULK-e5cf6119
5639 Bulk Product f689c1c4 Electronics $140.69 440 1.1 61 BULK-b55946d3
5640 Bulk Product 9560f3f3 Home & Garden $657.03 206 2.7 47 BULK-f502a321
5641 Bulk Product 99d9a0e8 Toys & Games $382.54 61 4.5 71 BULK-d0d55fef
5642 Bulk Product d3bd465d Home & Garden $123.17 470 3.4 66 BULK-7c06323c
5643 Bulk Product f686c680 Clothing $422.42 194 1.6 97 BULK-c086c752
5644 Bulk Product e14cc7d3 Electronics $514.15 60 0.7 10 BULK-cd895964
5645 Bulk Product b68f9b48 Home & Garden $967.14 224 2.3 54 BULK-a1c6bd76
5646 Bulk Product 68ef674d Toys & Games $847.57 41 4.6 93 BULK-8ea4e115
5647 Bulk Product d05610fb Clothing $349.24 338 1.8 89 BULK-6243b788
5648 Bulk Product 54023a48 Electronics $549.97 169 1.5 69 BULK-89017097
5649 Bulk Product afc305fb Clothing $31.73 423 2.1 73 BULK-ca8f38ee
5650 Bulk Product b2d7dd6a Toys & Games $161.33 396 4.0 95 BULK-e0ee2716
5651 Bulk Product c0329719 Home & Garden $506.61 275 4.7 86 BULK-42f86607
5652 Bulk Product ab986854 Sports & Outdoors $560.68 315 2.8 4 BULK-0267dfc4
5653 Bulk Product 70f59035 Home & Garden $495.82 268 4.2 83 BULK-beda4d5c
5654 Bulk Product 0311795a Toys & Games $554.58 482 3.9 26 BULK-4b7e0ecc
5655 Bulk Product 2fc91141 Books $996.79 137 1.8 69 BULK-382bbddc
5656 Bulk Product cc82f0a4 Clothing $911.96 128 0.3 43 BULK-d2582f8f
5657 Bulk Product c8570d1c Toys & Games $320.50 33 1.8 8 BULK-15768a1c
5658 Bulk Product 4774c4c9 Home & Garden $401.92 115 1.9 96 BULK-9e5ecb1c
5659 Bulk Product fc52da6e Sports & Outdoors $790.11 234 3.0 27 BULK-ed85b940
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