Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

23 ms

Page Size

50

Current Page

402 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 402 Results Showing 20051 - 20100 of 24441

ID Name Category Price Stock Rating Reviews SKU
20610 Bulk Product 2c720799 Toys & Games $739.39 82 4.5 62 BULK-ed9338f9
20611 Bulk Product 04fe27df Clothing $1,002.24 349 3.9 29 BULK-db670cee
20612 Bulk Product 9fc2ecc9 Toys & Games $821.59 252 1.2 36 BULK-2d364c9c
20613 Bulk Product f052e1d5 Sports & Outdoors $552.21 8 2.9 79 BULK-c6aac795
20614 Bulk Product 5e6a8273 Clothing $323.99 474 3.3 56 BULK-57dbb708
20615 Bulk Product 1cb2926a Sports & Outdoors $858.76 196 0.7 89 BULK-f423d9aa
20616 Bulk Product 46fc6e55 Books $472.54 470 1.0 45 BULK-d9530435
20617 Bulk Product b75ac85d Clothing $968.41 67 4.8 38 BULK-8b320c05
20618 Bulk Product dbb580cd Sports & Outdoors $815.32 498 2.2 49 BULK-5344ec4f
20619 Bulk Product cb6e43cb Electronics $757.88 43 4.0 59 BULK-0ed69a8f
20620 Bulk Product ee364c70 Electronics $423.76 346 1.8 75 BULK-b9654158
20621 Bulk Product 00668aab Home & Garden $184.09 251 1.1 71 BULK-a9e07aa4
20622 Bulk Product f706bbe8 Electronics $717.54 488 4.2 20 BULK-e2661016
20623 Bulk Product 2e564bde Sports & Outdoors $723.12 242 1.2 13 BULK-e7ccfb3e
20624 Bulk Product 6e0b5985 Clothing $991.37 263 3.5 84 BULK-893d3af0
20625 Bulk Product 84a6c371 Books $29.35 220 0.3 82 BULK-a0b4ee39
20626 Bulk Product 0f10fe7e Books $317.16 389 2.6 46 BULK-80b6e578
20627 Bulk Product 106c1383 Books $608.07 151 4.0 24 BULK-c315ed6d
20628 Bulk Product 5b047edf Sports & Outdoors $283.81 302 3.2 85 BULK-e14ab14b
20629 Bulk Product 440b81cf Clothing $451.36 201 4.3 11 BULK-9aafe099
20630 Bulk Product 4a7f28da Toys & Games $902.19 368 2.8 46 BULK-6d83d60d
20631 Bulk Product 9da1bb75 Sports & Outdoors $170.19 251 0.8 58 BULK-abf7f7bf
20632 Bulk Product 895dae60 Books $623.75 106 3.7 0 BULK-6e5f55ff
20633 Bulk Product 8a46e2ac Home & Garden $305.92 354 2.6 92 BULK-2cb69381
20634 Bulk Product 9b6caf5d Books $805.33 173 4.9 88 BULK-758cad38
20635 Bulk Product e2cc7158 Books $41.16 453 0.5 14 BULK-bf4c2ad9
20636 Bulk Product a8676493 Clothing $790.38 488 3.3 36 BULK-272a0a80
20637 Bulk Product 0aadcc77 Electronics $477.07 139 1.3 3 BULK-52ab9aaa
20638 Bulk Product 4522b3bc Clothing $480.23 276 3.3 33 BULK-2a7fc783
20639 Bulk Product f10df883 Home & Garden $672.80 305 1.4 7 BULK-4c825428
20640 Bulk Product 4e432f9b Clothing $261.60 174 1.2 41 BULK-245bb11b
20641 Bulk Product 9ba62620 Sports & Outdoors $763.03 75 3.2 3 BULK-cbdc5f42
20642 Bulk Product 8a8c3d53 Books $152.88 132 1.1 10 BULK-f33850d9
20643 Bulk Product 924874ba Sports & Outdoors $405.11 141 2.5 34 BULK-88f0265c
20644 Bulk Product 778ac829 Electronics $793.40 125 2.6 32 BULK-62376351
20645 Bulk Product cf8fb79f Home & Garden $125.68 218 2.3 66 BULK-d168f146
20646 Bulk Product c64825b7 Electronics $298.09 193 0.7 52 BULK-fb24dbdb
20647 Bulk Product 63e32765 Home & Garden $756.01 495 3.9 29 BULK-2920c7dd
20648 Bulk Product 2e427c05 Books $365.59 313 0.8 15 BULK-eaa10503
20649 Bulk Product 058d06c6 Electronics $809.11 97 2.9 67 BULK-63ad44d8
20650 Bulk Product cfd3e1e4 Home & Garden $1,002.86 420 1.8 62 BULK-e49635b0
20651 Bulk Product a8640d0a Clothing $558.36 73 0.3 63 BULK-1e188ffb
20652 Bulk Product 63785e03 Clothing $545.34 328 2.3 6 BULK-86d8ebbe
20653 Bulk Product 3e061976 Sports & Outdoors $904.67 338 4.7 5 BULK-330a0d68
20654 Bulk Product c7b951ad Toys & Games $829.32 170 2.3 23 BULK-bda3e517
20655 Bulk Product 004c5027 Electronics $113.22 339 1.8 36 BULK-95594048
20656 Bulk Product 011b1f89 Sports & Outdoors $827.96 94 4.5 68 BULK-a19119a6
20657 Bulk Product 97e89fe7 Home & Garden $367.96 151 4.6 87 BULK-0ba37b39
20658 Bulk Product ebce3917 Clothing $849.16 29 3.5 20 BULK-d97e3569
20659 Bulk Product fd08f8fa Home & Garden $631.77 109 3.7 98 BULK-1585ab40
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