Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

37 ms

Page Size

50

Current Page

140 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 140 Results Showing 6951 - 7000 of 24441

ID Name Category Price Stock Rating Reviews SKU
7510 Bulk Product 2e643233 Books $13.57 30 3.3 56 BULK-c14984a4
7511 Bulk Product 43b6905d Sports & Outdoors $49.51 161 1.1 61 BULK-b2ef30d2
7512 Bulk Product e1c6f323 Sports & Outdoors $115.13 390 4.2 58 BULK-6e44fead
7513 Bulk Product 528a3e07 Sports & Outdoors $466.49 438 1.0 33 BULK-67dd5522
7514 Bulk Product 7ca397f9 Electronics $896.41 103 2.2 47 BULK-4da98e79
7515 Bulk Product b23e1c27 Books $791.55 397 3.3 65 BULK-5990d2e9
7516 Bulk Product 51302c31 Electronics $343.93 131 2.9 31 BULK-592e1592
7517 Bulk Product 9f48c033 Toys & Games $682.51 8 2.7 89 BULK-ec867941
7518 Bulk Product b43b3ca7 Clothing $698.97 290 0.8 0 BULK-f22f6bfd
7519 Bulk Product bf95ebbe Home & Garden $485.83 161 3.0 83 BULK-c1bd5572
7520 Bulk Product d222a4e2 Home & Garden $504.01 291 2.3 52 BULK-247c074f
7521 Bulk Product f1013ba3 Home & Garden $990.96 326 5.0 27 BULK-82773032
7522 Bulk Product cd53b963 Clothing $635.39 323 1.5 66 BULK-c2d94a40
7523 Bulk Product 41559b7c Sports & Outdoors $730.62 148 0.0 61 BULK-8e413d46
7524 Bulk Product 2c20ad66 Electronics $467.35 244 0.7 8 BULK-fc0e86e2
7525 Bulk Product 992659cd Toys & Games $504.76 62 0.6 62 BULK-19bebc99
7526 Bulk Product 385475d6 Clothing $928.72 217 0.7 55 BULK-3513e83d
7527 Bulk Product 97c83ffc Electronics $521.34 339 2.2 52 BULK-f11b725a
7528 Bulk Product e6b8f5a8 Sports & Outdoors $369.44 482 3.0 74 BULK-8065d889
7529 Bulk Product 99ca82c6 Electronics $688.79 151 4.7 64 BULK-ea49633f
7530 Bulk Product 1b19ae31 Toys & Games $243.96 22 4.7 2 BULK-290e297a
7531 Bulk Product 663fbd5b Electronics $369.10 198 1.9 61 BULK-51b15b83
7532 Bulk Product 75a18d99 Toys & Games $954.25 224 1.5 78 BULK-8a6c1dd7
7533 Bulk Product 8680395a Books $192.61 415 4.8 14 BULK-9cfe448f
7534 Bulk Product 2e6cbd29 Books $234.06 214 0.2 81 BULK-aec5833d
7535 Bulk Product d15a81ee Toys & Games $608.45 157 3.4 93 BULK-16640d81
7536 Bulk Product 514d38e7 Home & Garden $597.60 238 3.9 46 BULK-12461437
7537 Bulk Product 0fa7a55b Home & Garden $216.03 102 1.3 31 BULK-38ef7d59
7538 Bulk Product 51c8705f Clothing $566.19 427 4.6 67 BULK-ef25a91f
7539 Bulk Product 7c58ba7a Home & Garden $769.31 298 2.4 42 BULK-66ca570a
7540 Bulk Product c8f3c029 Home & Garden $963.62 435 2.0 20 BULK-b044d6ef
7541 Bulk Product b8b88fe7 Books $121.47 204 0.5 43 BULK-4bb252a9
7542 Bulk Product 6eb6ebbe Sports & Outdoors $48.74 165 1.8 79 BULK-ef8154f9
7543 Bulk Product 9d168d80 Home & Garden $449.96 34 1.5 16 BULK-d6b53516
7544 Bulk Product 7089985a Books $763.41 113 3.6 14 BULK-5a90789c
7545 Bulk Product 4573cf09 Toys & Games $367.47 79 0.0 8 BULK-33a51091
7546 Bulk Product 291cb239 Home & Garden $187.83 397 3.9 87 BULK-7da13eb1
7547 Bulk Product 84ff84ab Electronics $507.56 297 0.6 71 BULK-56b1bbee
7548 Bulk Product 5eb69ed9 Books $224.43 11 0.9 92 BULK-4b927883
7549 Bulk Product 68bb5bf7 Sports & Outdoors $968.06 487 3.4 75 BULK-31bf12a1
7550 Bulk Product 8e63aeba Clothing $837.95 153 3.7 91 BULK-20d9db38
7551 Bulk Product be5e4610 Books $92.58 139 4.2 48 BULK-67383c9b
7552 Bulk Product 87064af6 Clothing $911.54 434 1.1 90 BULK-438bb84b
7553 Bulk Product 16d64787 Toys & Games $677.41 471 4.8 20 BULK-56172f66
7554 Bulk Product 4170116e Sports & Outdoors $474.04 299 3.2 91 BULK-1e31af26
7555 Bulk Product 4cba9488 Sports & Outdoors $582.94 36 1.2 12 BULK-7559cddb
7556 Bulk Product f776661d Books $431.14 256 3.4 35 BULK-0ea5aa1a
7557 Bulk Product a0284694 Toys & Games $599.81 421 4.2 16 BULK-948c06ee
7558 Bulk Product d1863edd Books $88.19 442 2.6 84 BULK-8b16ee1b
7559 Bulk Product 4e2b8fed Toys & Games $826.09 383 1.0 41 BULK-1215646c
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