Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

12 ms

Page Size

50

Current Page

238 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 238 Results Showing 11851 - 11900 of 24441

ID Name Category Price Stock Rating Reviews SKU
12410 Bulk Product 8e84a1f5 Electronics $233.57 151 2.9 67 BULK-4a976b59
12411 Bulk Product d725fa82 Toys & Games $880.50 419 0.1 52 BULK-bd8581cb
12412 Bulk Product 6037d24f Home & Garden $100.58 312 1.6 65 BULK-c137284b
12413 Bulk Product 814b7b6a Electronics $86.93 43 2.0 51 BULK-d96d40ce
12414 Bulk Product 72a88fbf Electronics $145.12 87 1.7 76 BULK-889885d1
12415 Bulk Product 98121532 Toys & Games $752.17 150 4.7 81 BULK-636f8c86
12416 Bulk Product 7c8b4aa4 Books $243.17 121 1.1 27 BULK-a1748faa
12417 Bulk Product 0b0c40bd Books $138.72 395 0.6 4 BULK-6a00fa35
12418 Bulk Product 8b820b04 Clothing $81.50 448 3.5 25 BULK-38925b7f
12419 Bulk Product a1fb8b2d Toys & Games $659.96 442 1.8 57 BULK-5ce9bf00
12420 Bulk Product 80c6dc4e Clothing $32.34 442 2.4 13 BULK-d9a6bc4e
12421 Bulk Product c2835731 Sports & Outdoors $563.20 410 1.4 10 BULK-9ccf5253
12422 Bulk Product b2b0fa9d Toys & Games $488.56 79 0.7 0 BULK-dfbf465b
12423 Bulk Product f1a17dc6 Electronics $703.11 17 0.9 83 BULK-3d2e3598
12424 Bulk Product 9d8c232e Home & Garden $994.22 473 4.9 14 BULK-da06a1a1
12425 Bulk Product d0f597da Clothing $350.94 31 4.6 13 BULK-a48e2edd
12426 Bulk Product 0351234e Clothing $222.31 403 1.3 63 BULK-0ad2d741
12427 Bulk Product 858a88aa Electronics $679.75 4 1.5 77 BULK-473b3cc3
12428 Bulk Product bce0801b Books $283.21 478 3.9 25 BULK-c8f41f13
12429 Bulk Product 544d5ade Toys & Games $247.96 0 3.7 99 BULK-90abeb77
12430 Bulk Product ca777a51 Sports & Outdoors $244.10 71 0.1 3 BULK-4b1ea188
12431 Bulk Product 15ca056d Sports & Outdoors $954.40 367 3.7 49 BULK-e209fa35
12432 Bulk Product 5e6a30d1 Books $773.54 240 1.2 75 BULK-692c0e13
12433 Bulk Product 70de3df9 Sports & Outdoors $754.18 169 0.1 18 BULK-624e7adb
12434 Bulk Product 2b677fe7 Books $1,007.39 373 0.6 50 BULK-b0b5dec8
12435 Bulk Product 8a57fac4 Toys & Games $93.85 378 4.0 69 BULK-a0dadd5a
12436 Bulk Product d1fb0abe Clothing $779.89 97 0.2 79 BULK-a700281d
12437 Bulk Product 1546cb79 Home & Garden $993.59 88 1.3 26 BULK-7d3bc508
12438 Bulk Product 14202302 Clothing $806.33 460 1.1 59 BULK-294b6177
12439 Bulk Product b2fbc054 Home & Garden $1,004.40 173 2.1 22 BULK-a752972f
12440 Bulk Product 9d92d8c4 Electronics $518.68 199 3.7 58 BULK-3a819b6f
12441 Bulk Product 08d6c19c Electronics $335.55 108 4.7 19 BULK-17af22c1
12442 Bulk Product cf92b22c Books $161.35 300 1.6 0 BULK-d5af1796
12443 Bulk Product a69c3acb Sports & Outdoors $264.45 71 3.0 95 BULK-ac92524c
12444 Bulk Product 839970c5 Books $173.70 342 4.2 69 BULK-2e979ca5
12445 Bulk Product 37cd9cbd Clothing $448.50 83 4.4 57 BULK-9cb06917
12446 Bulk Product a96058cf Home & Garden $84.51 270 0.7 77 BULK-e587a5a1
12447 Bulk Product 1b49da2b Toys & Games $289.16 258 4.8 63 BULK-4ceddc1e
12448 Bulk Product 25e8472d Toys & Games $290.38 400 2.2 2 BULK-84c3e9cc
12449 Bulk Product f4adefd7 Electronics $463.80 249 1.5 71 BULK-d81e1234
12450 Bulk Product 6d2281f1 Sports & Outdoors $578.23 22 1.5 0 BULK-4bdda6b3
12451 Bulk Product cfcfbe8f Books $516.92 179 3.8 38 BULK-15c8ed34
12452 Bulk Product 9f1b24bc Home & Garden $150.11 221 4.4 24 BULK-3f10e040
12453 Bulk Product fa281a0e Electronics $339.15 287 0.0 7 BULK-f04987fa
12454 Bulk Product 46de9237 Toys & Games $335.55 179 0.0 27 BULK-d6c174d8
12455 Bulk Product 9f7c0212 Sports & Outdoors $228.25 232 4.5 54 BULK-ddcecb9f
12456 Bulk Product 595aa3c5 Electronics $353.95 266 3.1 39 BULK-69fa003b
12457 Bulk Product 35fba609 Sports & Outdoors $834.68 7 1.6 84 BULK-e66b51a5
12458 Bulk Product 98e53ae8 Clothing $739.58 151 4.2 8 BULK-03722eff
12459 Bulk Product c81fa1b4 Toys & Games $377.32 324 1.1 10 BULK-4134037c
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