Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

49 ms

Page Size

50

Current Page

179 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 179 Results Showing 8901 - 8950 of 24441

ID Name Category Price Stock Rating Reviews SKU
9460 Bulk Product 3acee5c7 Electronics $696.97 257 2.1 10 BULK-85cb3297
9461 Bulk Product d8e1b830 Electronics $1,000.82 449 0.8 6 BULK-13e2c072
9462 Bulk Product d17c44e8 Clothing $123.12 122 3.2 57 BULK-b23694fe
9463 Bulk Product 76a9f7d8 Books $757.84 340 0.1 99 BULK-f4e232ae
9464 Bulk Product 550460ab Sports & Outdoors $996.46 321 0.7 54 BULK-806a13ac
9465 Bulk Product 6fb27b19 Electronics $399.97 50 4.6 6 BULK-58451bf3
9466 Bulk Product 6921afc6 Home & Garden $750.64 53 3.8 39 BULK-f489f6a7
9467 Bulk Product 59aba3b1 Books $198.04 104 2.7 51 BULK-69d5c971
9468 Bulk Product b0f1169a Books $581.12 160 4.4 72 BULK-171c0487
9469 Bulk Product 6871dc8f Electronics $338.31 154 2.3 83 BULK-a17eb617
9470 Bulk Product 8a2b3d88 Electronics $83.09 418 3.6 25 BULK-b51facb1
9471 Bulk Product 9030ff95 Books $70.62 203 3.5 79 BULK-20535874
9472 Bulk Product 54b2ed66 Home & Garden $322.79 320 2.4 31 BULK-8ce6332f
9473 Bulk Product 3b89d2cf Sports & Outdoors $209.54 265 1.6 95 BULK-79d2ce3e
9474 Bulk Product 51ddbee3 Home & Garden $349.37 63 2.7 42 BULK-3ffceea7
9475 Bulk Product 716fa5cd Toys & Games $549.73 308 3.6 78 BULK-503dd00e
9476 Bulk Product 84e87f52 Books $375.45 296 5.0 75 BULK-4a015ade
9477 Bulk Product 60c64108 Toys & Games $332.45 296 1.5 81 BULK-e06b6617
9478 Bulk Product acb5c6c2 Sports & Outdoors $977.36 325 3.1 50 BULK-eeb1143d
9479 Bulk Product 80746a26 Clothing $401.51 405 4.2 9 BULK-7a84ff8f
9480 Bulk Product 701a4698 Clothing $850.98 210 3.7 50 BULK-5a2e3df8
9481 Bulk Product 7dff0f9b Clothing $309.99 52 0.6 43 BULK-eb1116d6
9482 Bulk Product 8526b9c5 Electronics $346.37 34 1.1 53 BULK-a773b485
9483 Bulk Product 77c215ca Clothing $149.00 220 3.7 69 BULK-6156aca0
9484 Bulk Product f1320299 Electronics $29.98 22 4.7 6 BULK-a9d91f5b
9485 Bulk Product 9d53acb4 Home & Garden $996.53 315 1.4 26 BULK-5b40072d
9486 Bulk Product 4ff9e8e8 Electronics $890.58 266 2.3 34 BULK-e14a6527
9487 Bulk Product 78d1f11d Home & Garden $705.23 450 4.9 29 BULK-52904cb4
9488 Bulk Product f6537f2e Books $1,009.99 293 1.1 62 BULK-aae6f3ee
9489 Bulk Product 029d64b3 Books $925.67 291 0.4 19 BULK-ac0292d7
9490 Bulk Product a543e2fb Electronics $607.26 372 4.8 91 BULK-4914c60d
9491 Bulk Product aad81b47 Toys & Games $445.30 115 3.1 59 BULK-8ae1185b
9492 Bulk Product af4bc3e0 Home & Garden $580.18 116 4.8 80 BULK-249e6e59
9493 Bulk Product d649da81 Books $153.63 130 4.4 58 BULK-32431810
9494 Bulk Product e167d0f0 Home & Garden $446.37 152 0.5 27 BULK-ab13f981
9495 Bulk Product 4990027c Clothing $160.08 222 4.6 97 BULK-728c506c
9496 Bulk Product 80129666 Electronics $308.25 272 1.2 91 BULK-5a0b3309
9497 Bulk Product 87c13c48 Books $914.63 59 0.3 31 BULK-7dcb99c6
9498 Bulk Product 243c0d93 Sports & Outdoors $991.81 407 3.5 73 BULK-3147c7a9
9499 Bulk Product c32b9f4d Home & Garden $298.13 46 3.3 74 BULK-0d185160
9500 Bulk Product 95919a4f Books $874.70 337 5.0 75 BULK-855bb594
9501 Bulk Product fdf8509e Books $592.55 424 1.4 68 BULK-e54cec7f
9502 Bulk Product fc928c00 Electronics $305.04 51 4.8 51 BULK-2cdc8bd8
9503 Bulk Product 446b629a Sports & Outdoors $354.02 236 0.4 27 BULK-ef98f105
9504 Bulk Product 7477cbb8 Sports & Outdoors $541.86 386 2.1 99 BULK-b7d87b28
9505 Bulk Product a7f51c06 Electronics $331.63 432 4.9 70 BULK-33cff50e
9506 Bulk Product e8846008 Sports & Outdoors $255.37 2 1.6 73 BULK-66b4b6c8
9507 Bulk Product e39ea94b Electronics $994.70 16 4.8 61 BULK-25914218
9508 Bulk Product 1124b892 Sports & Outdoors $881.33 430 3.1 38 BULK-7d5ff139
9509 Bulk Product 3a52d0aa Clothing $33.58 356 2.7 38 BULK-1a9d456f
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