Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

134 ms

Page Size

50

Current Page

319 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 319 Results Showing 15901 - 15950 of 24441

ID Name Category Price Stock Rating Reviews SKU
16460 Bulk Product 8eca12e1 Books $339.27 362 2.1 11 BULK-63b9aaf7
16461 Bulk Product 50b40bf0 Electronics $58.41 107 2.3 79 BULK-d3b3bd5b
16462 Bulk Product 5257c4c9 Books $405.64 129 3.0 9 BULK-66cd1f0a
16463 Bulk Product 868927c1 Toys & Games $762.94 79 1.0 59 BULK-b094219b
16464 Bulk Product 1c59e715 Electronics $754.82 365 1.0 11 BULK-ca87f022
16465 Bulk Product c6ebacc3 Toys & Games $384.82 436 0.3 40 BULK-9c4bb3d4
16466 Bulk Product b2661cbe Clothing $611.32 326 4.7 85 BULK-ce921bd1
16467 Bulk Product a59955b9 Clothing $557.37 131 1.5 0 BULK-8ff6a905
16468 Bulk Product 2f4f22e1 Sports & Outdoors $171.78 477 3.0 24 BULK-b48fd968
16469 Bulk Product 153d9397 Books $555.49 71 2.4 5 BULK-2afb1689
16470 Bulk Product 21b918ba Sports & Outdoors $617.66 153 4.8 85 BULK-0cdc8eb2
16471 Bulk Product 74e18308 Toys & Games $948.55 420 3.3 90 BULK-9e5aa9d8
16472 Bulk Product 21eb6b89 Books $411.22 205 2.8 86 BULK-a81a1955
16473 Bulk Product f44dbe17 Sports & Outdoors $813.70 59 3.8 40 BULK-2b0f580d
16474 Bulk Product b5a6474e Toys & Games $469.78 81 2.0 23 BULK-b15bac46
16475 Bulk Product 2caebaba Home & Garden $894.93 168 3.2 47 BULK-9cf9f864
16476 Bulk Product ee36873b Sports & Outdoors $622.45 413 4.0 77 BULK-c11a2d7b
16477 Bulk Product 0b903266 Electronics $952.33 257 0.6 52 BULK-b166ec01
16478 Bulk Product 12131fc3 Clothing $195.01 299 1.0 63 BULK-e1c5d98e
16479 Bulk Product 09bbd4f8 Books $308.88 405 1.7 16 BULK-a2e27bef
16480 Bulk Product 4d1767ec Clothing $348.65 488 3.8 34 BULK-063d72e4
16481 Bulk Product fd4e46ba Clothing $857.94 355 4.9 80 BULK-c5bcb696
16482 Bulk Product f4b6d60a Toys & Games $795.71 191 0.2 16 BULK-7b5e9ff5
16483 Bulk Product 47c36d11 Books $394.54 256 2.1 5 BULK-3b1b9ed6
16484 Bulk Product 4dde229c Home & Garden $1,009.84 180 2.9 96 BULK-0907cd40
16485 Bulk Product 53ac324e Books $283.88 308 1.2 74 BULK-7275d412
16486 Bulk Product 59968ae8 Books $583.38 142 1.3 56 BULK-6c8d1b58
16487 Bulk Product 037f4d08 Home & Garden $710.20 365 2.4 88 BULK-283469ac
16488 Bulk Product 10874004 Toys & Games $734.51 38 1.8 44 BULK-465dc2cf
16489 Bulk Product fe53b3cb Sports & Outdoors $230.02 329 0.2 81 BULK-f90cc28c
16490 Bulk Product 2be96a4d Home & Garden $380.10 493 2.2 17 BULK-28b4071f
16491 Bulk Product 030c14e0 Clothing $428.57 177 2.1 75 BULK-90e46bf8
16492 Bulk Product 1509079f Electronics $699.95 416 3.5 96 BULK-d8a51138
16493 Bulk Product f47f452b Sports & Outdoors $862.92 220 3.8 61 BULK-c9ac3ae5
16494 Bulk Product eb068ab7 Home & Garden $835.05 152 1.4 82 BULK-11217f92
16495 Bulk Product d7c7cf0f Electronics $397.33 316 3.8 51 BULK-b56e387b
16496 Bulk Product 79b62db8 Books $991.09 237 0.6 92 BULK-74a71da3
16497 Bulk Product 04af5401 Electronics $426.84 445 1.9 18 BULK-da25b235
16498 Bulk Product 58442175 Electronics $137.29 379 1.8 92 BULK-d69bc488
16499 Bulk Product 15ca765e Books $119.54 205 0.9 14 BULK-a46153f6
16500 Bulk Product f6acffb2 Home & Garden $102.03 168 0.1 40 BULK-5cd96712
16501 Bulk Product ee74f57d Electronics $604.25 359 4.8 69 BULK-72665f77
16502 Bulk Product a7ffe838 Home & Garden $798.27 469 1.5 21 BULK-ce1340ba
16503 Bulk Product 929b4651 Home & Garden $245.41 21 2.1 97 BULK-dac5706b
16504 Bulk Product ef91edc3 Clothing $662.12 156 0.9 47 BULK-39cfc2e1
16505 Bulk Product 3a076200 Toys & Games $635.78 227 2.3 69 BULK-91013709
16506 Bulk Product da1c0344 Toys & Games $101.61 211 2.0 39 BULK-829004e2
16507 Bulk Product 2eff4dce Books $974.84 72 4.7 69 BULK-377a49b2
16508 Bulk Product fc8690a7 Toys & Games $680.04 494 0.8 46 BULK-bb344214
16509 Bulk Product db804033 Clothing $512.04 70 2.4 56 BULK-f50a1e0d
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