Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

77 ms

Page Size

50

Current Page

97 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 97 Results Showing 4801 - 4850 of 24441

ID Name Category Price Stock Rating Reviews SKU
5360 Bulk Product 5a8467c8 Toys & Games $120.33 475 3.1 87 BULK-0f1f49f8
5361 Bulk Product 7208333f Clothing $290.35 144 1.9 78 BULK-63ab5c26
5362 Bulk Product b3ba2632 Toys & Games $608.64 238 3.0 56 BULK-4062b9ef
5363 Bulk Product 1ca44b8a Sports & Outdoors $115.62 329 1.7 7 BULK-28b40d67
5364 Bulk Product 1097ba89 Sports & Outdoors $742.51 362 4.7 86 BULK-c168235d
5365 Bulk Product 5e1d6156 Home & Garden $18.73 103 3.8 79 BULK-84e33b6c
5366 Bulk Product edcff130 Electronics $774.12 80 3.2 57 BULK-9e993fdf
5367 Bulk Product 85e6e3e4 Sports & Outdoors $407.53 105 2.7 61 BULK-e5de7fe9
5368 Bulk Product e53c33fc Books $528.31 306 0.8 43 BULK-49a8187d
5369 Bulk Product b29f9721 Home & Garden $134.13 169 0.6 13 BULK-48e5a268
5370 Bulk Product 21869f2a Clothing $224.20 485 1.8 11 BULK-d84e075b
5371 Bulk Product 8cd9d8b3 Books $556.45 322 4.8 39 BULK-413de560
5372 Bulk Product 264c2bf8 Toys & Games $424.23 437 2.3 98 BULK-0f547d8e
5373 Bulk Product 71899967 Toys & Games $515.93 185 0.6 23 BULK-e1940c1e
5374 Bulk Product 39a67ec0 Toys & Games $629.00 346 1.4 18 BULK-93d4c3ef
5375 Bulk Product a097f958 Clothing $137.42 188 1.3 48 BULK-fdeb8508
5376 Bulk Product af75b66f Home & Garden $106.89 99 3.7 75 BULK-e35a8917
5377 Bulk Product f850eac3 Clothing $133.73 53 3.7 80 BULK-5cb4b2a4
5378 Bulk Product 0d79bc81 Home & Garden $924.89 304 0.4 72 BULK-7e55d8fe
5379 Bulk Product 3cbe82ec Toys & Games $657.60 265 1.1 27 BULK-0bc83e78
5380 Bulk Product accc8499 Sports & Outdoors $53.53 483 4.5 70 BULK-5d2bfbda
5381 Bulk Product 73bf72d2 Books $133.33 389 0.2 82 BULK-f338d418
5382 Bulk Product 3a1876e8 Books $152.68 203 1.7 68 BULK-a2c6294e
5383 Bulk Product 5013d80c Sports & Outdoors $293.93 79 0.6 41 BULK-91b9b53a
5384 Bulk Product 98742e59 Books $672.42 201 1.1 59 BULK-6d5aca21
5385 Bulk Product 3db97a6c Clothing $22.69 373 1.4 8 BULK-94a53d8f
5386 Bulk Product a386cd33 Toys & Games $68.07 74 1.1 62 BULK-875d127f
5387 Bulk Product 172a9688 Electronics $270.01 63 1.8 82 BULK-5e2086c6
5388 Bulk Product 6c10ecc4 Home & Garden $863.60 255 4.2 40 BULK-bb7d08b2
5389 Bulk Product 038b99de Clothing $344.07 488 3.2 84 BULK-58f6ce59
5390 Bulk Product 52b6ee3b Electronics $100.96 231 0.7 73 BULK-6c90a9e2
5391 Bulk Product 3b1a8ca3 Electronics $894.46 98 0.4 30 BULK-b6068037
5392 Bulk Product 4a3264f3 Books $201.19 18 1.5 68 BULK-b1da40cb
5393 Bulk Product 522ea716 Electronics $809.29 326 4.4 93 BULK-4c5a15b2
5394 Bulk Product 6c84f99e Electronics $672.89 110 1.7 90 BULK-e72b97fa
5395 Bulk Product 5006a289 Toys & Games $273.92 463 4.0 29 BULK-361559b3
5396 Bulk Product 2da51c76 Electronics $720.88 316 1.9 7 BULK-f3d25db4
5397 Bulk Product 4e0fe2e7 Clothing $28.05 77 2.6 80 BULK-21665c5c
5398 Bulk Product 3e8a2189 Sports & Outdoors $876.03 265 4.4 12 BULK-d06892db
5399 Bulk Product 0cb05b08 Home & Garden $802.60 209 2.2 73 BULK-950434bf
5400 Bulk Product caa8ac29 Clothing $162.37 53 0.6 12 BULK-32a51c54
5401 Bulk Product ac889c90 Electronics $559.23 278 4.2 75 BULK-93fc5102
5402 Bulk Product 5ba250da Clothing $992.46 63 2.0 45 BULK-ea8e6e07
5403 Bulk Product d275b242 Toys & Games $190.30 429 3.3 82 BULK-1705dba0
5404 Bulk Product bbfebfd4 Clothing $743.90 79 4.2 81 BULK-2412eaf5
5405 Bulk Product a29148fb Sports & Outdoors $634.25 470 0.3 32 BULK-ae203cc7
5406 Bulk Product 1d5e48b9 Books $390.52 198 1.9 72 BULK-0794158c
5407 Bulk Product 84948943 Books $78.67 302 0.1 14 BULK-83c46f0a
5408 Bulk Product be8a294c Toys & Games $54.00 50 1.4 61 BULK-7b67a640
5409 Bulk Product a356ab53 Books $629.51 187 0.6 53 BULK-0f5eede0
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