Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

31 ms

Page Size

50

Current Page

444 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 444 Results Showing 22151 - 22200 of 24441

ID Name Category Price Stock Rating Reviews SKU
22710 Bulk Product 211fa2f0 Clothing $272.81 27 0.9 22 BULK-eb866db2
22711 Bulk Product af3608bb Electronics $467.71 60 0.3 82 BULK-dc426775
22712 Bulk Product 30a7ebeb Clothing $891.70 76 4.9 35 BULK-e3171daa
22713 Bulk Product d2e22e35 Electronics $535.32 53 0.6 97 BULK-76bebfc5
22714 Bulk Product df68c3fe Electronics $591.91 434 4.8 99 BULK-67c4b9ea
22715 Bulk Product 202c6b10 Sports & Outdoors $323.91 271 3.1 59 BULK-24e3149b
22716 Bulk Product 33974285 Books $363.40 118 1.7 83 BULK-fbb47a60
22717 Bulk Product 0356d0fb Toys & Games $642.07 472 1.8 45 BULK-c64fd6a4
22718 Bulk Product 24c47225 Books $605.11 21 1.4 90 BULK-ea4a3403
22719 Bulk Product 88cb2bb3 Electronics $567.94 345 1.6 61 BULK-5b2c8a85
22720 Bulk Product 71d4a656 Home & Garden $582.89 76 2.6 24 BULK-792311a9
22721 Bulk Product 66ca2284 Books $784.77 281 3.1 26 BULK-c006cdad
22722 Bulk Product 7333e4ef Home & Garden $724.86 277 0.5 94 BULK-81c84ac3
22723 Bulk Product f499b21e Home & Garden $45.98 358 2.2 49 BULK-c9c47817
22724 Bulk Product 567175f8 Home & Garden $291.40 9 4.0 27 BULK-fe5704ce
22725 Bulk Product 37a00217 Books $52.29 382 4.3 96 BULK-adf239cc
22726 Bulk Product 6226f5ed Home & Garden $592.48 165 0.2 29 BULK-129a3a39
22727 Bulk Product 374c1536 Clothing $707.58 175 4.1 81 BULK-d58b6179
22728 Bulk Product 427abf5e Books $384.92 368 4.1 78 BULK-8806f90a
22729 Bulk Product 4461e889 Home & Garden $86.55 169 4.9 52 BULK-ab72d919
22730 Bulk Product 32a4540d Toys & Games $932.77 209 2.3 97 BULK-adb464bd
22731 Bulk Product 1ecfdae4 Toys & Games $916.62 486 1.2 32 BULK-9ae27d8a
22732 Bulk Product 2208d0a7 Books $983.45 159 3.8 43 BULK-c8b09b15
22733 Bulk Product 80d641e7 Electronics $59.53 119 1.4 66 BULK-ab66f4c0
22734 Bulk Product d620d982 Clothing $398.38 306 4.5 23 BULK-0a9750bb
22735 Bulk Product d5df4fa5 Home & Garden $633.38 180 2.0 42 BULK-701d2ea6
22736 Bulk Product df0a35bf Electronics $130.28 46 5.0 89 BULK-4d991e46
22737 Bulk Product 3d97c8d0 Clothing $145.03 214 1.4 76 BULK-a2a1b355
22738 Bulk Product c255bd81 Sports & Outdoors $377.48 222 0.4 26 BULK-34d41482
22739 Bulk Product 0bc53ccc Clothing $923.70 316 1.1 12 BULK-e70aa214
22740 Bulk Product ba37bb7f Books $216.34 295 2.6 66 BULK-d07ba75a
22741 Bulk Product 891c4ad3 Sports & Outdoors $284.35 114 1.7 51 BULK-d97ecdc0
22742 Bulk Product c597d03f Home & Garden $980.18 209 1.2 53 BULK-1dda6f9e
22743 Bulk Product e6d38b13 Electronics $388.13 294 3.6 9 BULK-38ec9d6b
22744 Bulk Product 37a222b9 Electronics $513.47 271 2.0 47 BULK-457223df
22745 Bulk Product 271b7799 Clothing $587.48 86 2.6 4 BULK-a434039b
22746 Bulk Product 150c1324 Electronics $150.62 150 2.9 64 BULK-05306eba
22747 Bulk Product beccec06 Clothing $783.06 324 0.1 53 BULK-4fedb129
22748 Bulk Product fcb59f73 Toys & Games $705.23 492 4.3 84 BULK-ecfddbe7
22749 Bulk Product 51113581 Sports & Outdoors $891.89 200 1.0 74 BULK-99802656
22750 Bulk Product ac51e9f9 Clothing $929.64 204 4.3 17 BULK-8708a592
22751 Bulk Product 8a1093da Books $616.34 328 0.2 70 BULK-2e33bc91
22752 Bulk Product 622716ce Electronics $481.41 496 4.5 44 BULK-00287c72
22753 Bulk Product da0e3b3d Electronics $869.40 216 0.4 61 BULK-6662bf5f
22754 Bulk Product 00b0adaa Home & Garden $978.01 201 3.6 43 BULK-e9a71a1c
22755 Bulk Product 2bac44ce Electronics $1,005.52 47 0.7 4 BULK-1b449e1c
22756 Bulk Product 291987ac Electronics $396.64 453 1.2 48 BULK-b8e46387
22757 Bulk Product 8290899c Sports & Outdoors $988.76 217 4.9 66 BULK-0dceef17
22758 Bulk Product 47a3f51e Books $33.48 81 3.6 38 BULK-1dfad983
22759 Bulk Product b3ddcbee Home & Garden $776.80 139 0.7 29 BULK-c339ba68
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