Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

21 ms

Page Size

50

Current Page

249 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 249 Results Showing 12401 - 12450 of 24441

ID Name Category Price Stock Rating Reviews SKU
12960 Bulk Product 01dd4ea1 Home & Garden $198.09 376 0.3 30 BULK-1d6882b0
12961 Bulk Product 880861e9 Toys & Games $275.21 278 4.1 44 BULK-22145fcf
12962 Bulk Product a404ccf5 Toys & Games $305.10 288 1.1 85 BULK-8ffe668a
12963 Bulk Product cc820121 Books $562.98 332 4.9 40 BULK-1929a506
12964 Bulk Product d4a65a57 Electronics $377.48 345 2.7 50 BULK-002e6244
12965 Bulk Product c7e8fff7 Toys & Games $58.27 481 2.9 34 BULK-c1c4fa55
12966 Bulk Product b5fc291e Toys & Games $961.78 171 4.6 95 BULK-fcf2975e
12967 Bulk Product 1eb48441 Electronics $387.92 159 4.9 17 BULK-26c06ef7
12968 Bulk Product 051cb6dc Electronics $66.48 470 5.0 31 BULK-89d0d4d8
12969 Bulk Product 1cfac1b6 Sports & Outdoors $608.27 410 3.0 36 BULK-22be4d3e
12970 Bulk Product e24aad42 Books $962.95 451 2.6 3 BULK-b3dd349a
12971 Bulk Product fe8edca9 Clothing $897.04 449 3.0 62 BULK-cc3bd39a
12972 Bulk Product 62c4795b Electronics $27.81 26 2.8 8 BULK-cb16b364
12973 Bulk Product 0c047d92 Books $709.42 344 0.4 51 BULK-02ac168a
12974 Bulk Product decf1c2f Electronics $914.38 415 2.5 79 BULK-b08154ba
12975 Bulk Product c726391d Clothing $893.08 438 3.6 67 BULK-6e27e840
12976 Bulk Product fce40c70 Clothing $883.81 99 3.6 79 BULK-e50cb3de
12977 Bulk Product ae37d3b9 Books $1,008.69 174 4.8 1 BULK-58b7d138
12978 Bulk Product 9b59284d Toys & Games $994.02 114 1.1 69 BULK-9abe2b65
12979 Bulk Product 1f38d685 Toys & Games $276.35 310 4.4 98 BULK-e5faf153
12980 Bulk Product 8f17b252 Clothing $16.36 391 1.6 35 BULK-bf99a25f
12981 Bulk Product 88179051 Toys & Games $170.57 13 2.8 5 BULK-de8761ba
12982 Bulk Product 0e9b8edd Toys & Games $402.17 267 1.8 33 BULK-7ccf028f
12983 Bulk Product 64850168 Toys & Games $761.18 276 1.6 69 BULK-bf9f4a67
12984 Bulk Product 67d4295c Clothing $618.73 310 1.8 54 BULK-37cdcb7d
12985 Bulk Product 17a8e83e Sports & Outdoors $169.78 377 3.2 60 BULK-68f9476d
12986 Bulk Product 805479e8 Clothing $996.18 319 1.5 10 BULK-f38e9165
12987 Bulk Product be16e0c3 Electronics $295.91 310 3.7 3 BULK-647629ca
12988 Bulk Product 8699b6a9 Home & Garden $746.18 381 1.9 58 BULK-9c30fcd7
12989 Bulk Product 5d6078ac Electronics $562.13 164 4.2 1 BULK-355d8498
12990 Bulk Product 01d8e24c Clothing $642.19 433 1.8 18 BULK-26f50af7
12991 Bulk Product dbb54350 Books $806.86 349 3.7 57 BULK-9fa4ae13
12992 Bulk Product e75b7dfc Electronics $410.78 380 0.0 75 BULK-d2692824
12993 Bulk Product 30e452fc Books $890.48 449 2.7 31 BULK-da0b7768
12994 Bulk Product e2ac11b7 Home & Garden $648.53 302 4.2 2 BULK-9062fb9b
12995 Bulk Product 105660ab Clothing $362.72 398 4.4 18 BULK-04019835
12996 Bulk Product edb649f5 Home & Garden $233.59 94 2.8 36 BULK-5a62bf5c
12997 Bulk Product 2a7dbd6e Sports & Outdoors $832.96 492 4.9 55 BULK-8c921b55
12998 Bulk Product 5d99371c Home & Garden $447.98 144 0.8 7 BULK-85fe7e47
12999 Bulk Product 9d8e3432 Clothing $866.55 345 4.1 49 BULK-e2e46729
13000 Bulk Product 936f304e Electronics $334.65 282 4.1 67 BULK-158a916a
13001 Bulk Product 5969de48 Toys & Games $127.86 215 2.5 90 BULK-e061fb96
13002 Bulk Product f85b0995 Toys & Games $209.52 19 4.3 72 BULK-57c30b68
13003 Bulk Product 9a1862e0 Clothing $331.11 175 3.3 82 BULK-694cc62d
13004 Bulk Product 6a74ef86 Sports & Outdoors $811.79 4 0.4 19 BULK-9cfe4a3c
13005 Bulk Product 1c62ccc1 Books $243.04 320 1.3 58 BULK-cc008482
13006 Bulk Product d19ef1cf Electronics $423.92 355 4.1 64 BULK-dd568f3e
13007 Bulk Product 79213946 Electronics $332.71 248 0.9 73 BULK-800cd7fe
13008 Bulk Product 3484329a Electronics $625.76 488 3.2 37 BULK-2861a764
13009 Bulk Product b216d158 Electronics $652.70 39 4.4 69 BULK-ce315084
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