Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

12 ms

Page Size

50

Current Page

300 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 300 Results Showing 14951 - 15000 of 24441

ID Name Category Price Stock Rating Reviews SKU
15510 Bulk Product d1a3b896 Toys & Games $888.91 13 2.7 60 BULK-f1aaff3e
15511 Bulk Product 32c3f96a Electronics $77.00 496 3.4 35 BULK-1a6962f1
15512 Bulk Product b5d09918 Clothing $658.24 66 1.5 40 BULK-923f3747
15513 Bulk Product ada944fe Home & Garden $954.97 126 3.4 44 BULK-2116a8e0
15514 Bulk Product 3cf5c15d Home & Garden $646.01 147 3.1 63 BULK-a00534a7
15515 Bulk Product a9557034 Clothing $199.07 330 2.4 46 BULK-33d1dccc
15516 Bulk Product bab9ff2c Sports & Outdoors $622.49 253 2.3 0 BULK-f91a2d84
15517 Bulk Product 1401d9a8 Clothing $270.69 270 0.6 87 BULK-deca7670
15518 Bulk Product f79ab4f4 Electronics $683.61 377 0.5 30 BULK-05bc81bd
15519 Bulk Product f2a78dee Books $153.95 362 2.2 15 BULK-8d7d5676
15520 Bulk Product b62d8e9f Clothing $300.12 475 3.7 9 BULK-1da007d5
15521 Bulk Product a9f784fd Home & Garden $152.39 117 2.9 48 BULK-daa0b9b4
15522 Bulk Product 487595e7 Clothing $203.87 256 3.9 29 BULK-ee04e23e
15523 Bulk Product 586c344e Electronics $572.69 269 0.5 70 BULK-257a7600
15524 Bulk Product d4f2cb48 Clothing $537.74 359 0.4 57 BULK-4c2fcebd
15525 Bulk Product bde02f9b Toys & Games $874.77 121 2.7 30 BULK-22b41d4e
15526 Bulk Product b5b40b67 Books $401.73 104 3.8 92 BULK-aa0aff8f
15527 Bulk Product b56fe42b Books $917.84 402 1.7 47 BULK-f432414b
15528 Bulk Product 9c1d3065 Toys & Games $795.04 344 0.6 3 BULK-94e65833
15529 Bulk Product 2b0d11cf Home & Garden $475.81 147 1.9 71 BULK-37f9e960
15530 Bulk Product c9e497ff Electronics $68.83 385 0.3 6 BULK-549cbb20
15531 Bulk Product e2f0bcf7 Clothing $611.39 479 1.3 35 BULK-bad4c19b
15532 Bulk Product 3f80287a Sports & Outdoors $908.27 58 0.1 17 BULK-e67d30cb
15533 Bulk Product 9bca4712 Home & Garden $601.49 80 3.0 69 BULK-650dad58
15534 Bulk Product 5f1a93b2 Toys & Games $701.39 494 4.3 41 BULK-fd5d1799
15535 Bulk Product d20cb10c Electronics $491.11 165 1.5 46 BULK-2ab3cf56
15536 Bulk Product 1bb34fbf Toys & Games $499.30 209 2.3 47 BULK-d6739aa6
15537 Bulk Product cd0f4e9f Books $703.05 461 4.6 37 BULK-e98cda34
15538 Bulk Product fcfbbafe Sports & Outdoors $744.33 16 1.7 31 BULK-87c51839
15539 Bulk Product 32561bcd Home & Garden $551.12 289 0.5 7 BULK-51d9db21
15540 Bulk Product c00ed6e7 Toys & Games $90.54 304 3.9 17 BULK-bf23e289
15541 Bulk Product 50489817 Home & Garden $669.46 78 1.4 2 BULK-0e6969ee
15542 Bulk Product b0c10708 Clothing $852.97 417 3.5 71 BULK-2135720c
15543 Bulk Product b4f334f3 Sports & Outdoors $421.30 289 2.3 42 BULK-d9488306
15544 Bulk Product a2d72847 Electronics $206.36 52 4.0 4 BULK-c5fa4d58
15545 Bulk Product 42845e66 Toys & Games $289.70 66 2.3 16 BULK-2c14cadd
15546 Bulk Product 91519574 Toys & Games $653.29 171 2.2 78 BULK-50ff2362
15547 Bulk Product 1bb70cbe Clothing $408.08 396 3.1 44 BULK-cd1b1946
15548 Bulk Product 5873ca0e Books $902.08 489 2.1 58 BULK-7784a741
15549 Bulk Product 3342a975 Sports & Outdoors $603.11 284 2.7 11 BULK-ba7811c2
15550 Bulk Product 91d93279 Sports & Outdoors $797.59 189 3.4 29 BULK-7180f9a8
15551 Bulk Product e609b8a3 Books $405.97 53 2.3 12 BULK-0e74d248
15552 Bulk Product 8cd59695 Books $598.34 261 1.9 32 BULK-52be4589
15553 Bulk Product b50c06eb Electronics $64.40 294 1.0 64 BULK-de1058c2
15554 Bulk Product b5ea9bdb Home & Garden $691.83 96 2.0 74 BULK-a0627b17
15555 Bulk Product a8ffe93c Electronics $514.41 315 4.0 5 BULK-43686944
15556 Bulk Product 0729ae98 Books $420.93 300 1.3 69 BULK-7866ec59
15557 Bulk Product 365fa373 Home & Garden $99.23 126 4.9 63 BULK-bd46f6f5
15558 Bulk Product 5098085c Electronics $520.43 497 0.3 97 BULK-08677ef9
15559 Bulk Product da1263c0 Toys & Games $869.72 357 1.6 96 BULK-386e4524
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