Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

1754 ms

Page Size

50

Current Page

120 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 120 Results Showing 5951 - 6000 of 24441

ID Name Category Price Stock Rating Reviews SKU
6510 Bulk Product ca56e1c7 Toys & Games $695.11 172 4.1 91 BULK-aabf647c
6511 Bulk Product fc12c782 Books $123.40 99 2.7 48 BULK-89a298a5
6512 Bulk Product 6d2f11d3 Books $418.82 420 4.3 73 BULK-26e33492
6513 Bulk Product e3bd886a Sports & Outdoors $651.47 467 1.9 22 BULK-5fa9ed63
6514 Bulk Product 19829414 Toys & Games $120.15 345 2.7 55 BULK-e274e731
6515 Bulk Product f7152c4d Home & Garden $227.57 489 4.1 50 BULK-7739af7e
6516 Bulk Product f3488097 Clothing $663.17 254 2.5 65 BULK-44969b8a
6517 Bulk Product 10fafd6c Sports & Outdoors $708.79 114 1.1 15 BULK-4275873d
6518 Bulk Product eb03004f Electronics $364.31 34 1.2 2 BULK-66410dcc
6519 Bulk Product e70be0d7 Books $152.13 344 2.8 24 BULK-82265089
6520 Bulk Product 1034c9e3 Clothing $129.33 385 2.3 3 BULK-8ec22957
6521 Bulk Product c65e8162 Home & Garden $599.85 327 0.4 5 BULK-466806fc
6522 Bulk Product 92ccbfbc Books $556.95 480 0.1 54 BULK-123d4721
6523 Bulk Product 6a682ade Home & Garden $50.23 404 2.3 72 BULK-046884a1
6524 Bulk Product 2f8c0409 Clothing $331.77 483 2.6 39 BULK-3748475a
6525 Bulk Product 965a2148 Toys & Games $54.80 416 4.9 16 BULK-611ef096
6526 Bulk Product fd65b872 Clothing $518.43 315 2.2 29 BULK-03348f9f
6527 Bulk Product 8262d8eb Sports & Outdoors $53.09 434 1.1 0 BULK-97625215
6528 Bulk Product 55849aa9 Home & Garden $857.16 495 3.4 4 BULK-583e29b2
6529 Bulk Product 5f473aab Home & Garden $955.25 348 1.0 20 BULK-914ad905
6530 Bulk Product f4287149 Books $462.50 184 1.5 25 BULK-4fa2a67e
6531 Bulk Product 88dcacd9 Sports & Outdoors $620.30 397 2.3 28 BULK-b0cb6cbb
6532 Bulk Product 1dfb3d03 Clothing $468.29 110 3.7 6 BULK-8bc6ef2d
6533 Bulk Product dd109f4b Sports & Outdoors $765.59 225 0.6 43 BULK-915be706
6534 Bulk Product cc841002 Electronics $287.57 73 3.9 98 BULK-4c589a5a
6535 Bulk Product 3c23ee90 Clothing $590.40 223 2.2 69 BULK-ed49430e
6536 Bulk Product b3f8d236 Toys & Games $839.98 375 3.3 11 BULK-5e914b75
6537 Bulk Product 784e8514 Clothing $163.42 195 0.7 51 BULK-67866c9d
6538 Bulk Product 9794c401 Sports & Outdoors $677.69 423 4.3 60 BULK-72fbefb2
6539 Bulk Product ba77fbf1 Toys & Games $68.50 23 3.8 50 BULK-ea7db789
6540 Bulk Product ee069193 Toys & Games $60.85 401 3.1 76 BULK-66d5bd54
6541 Bulk Product 842b4b90 Toys & Games $950.86 371 2.4 40 BULK-ea505b06
6542 Bulk Product 9d37840e Electronics $24.74 266 3.2 71 BULK-a9235f78
6543 Bulk Product bcd1e7c2 Home & Garden $109.86 394 2.0 69 BULK-7fa819b3
6544 Bulk Product b1349d55 Sports & Outdoors $703.92 244 4.6 37 BULK-4913ba58
6545 Bulk Product 2a0661e0 Sports & Outdoors $224.21 309 3.3 90 BULK-56bb0e9d
6546 Bulk Product 2289882e Books $557.24 342 1.2 99 BULK-eb69664c
6547 Bulk Product 885d70b2 Home & Garden $513.51 452 4.2 55 BULK-0753184e
6548 Bulk Product a63c5511 Clothing $116.53 292 1.2 32 BULK-9c9fe78c
6549 Bulk Product 9f1c6d96 Clothing $449.13 117 3.1 34 BULK-7a07c2a7
6550 Bulk Product 7d5682a5 Sports & Outdoors $570.68 288 3.2 60 BULK-86e4670c
6551 Bulk Product 427e6ad9 Clothing $217.61 191 1.8 42 BULK-507bfed6
6552 Bulk Product 1b46af9f Sports & Outdoors $657.20 152 1.6 29 BULK-a5ed0d30
6553 Bulk Product 45d4547b Sports & Outdoors $274.04 122 1.8 75 BULK-de6a25a5
6554 Bulk Product 219a76ae Books $521.98 360 0.6 84 BULK-bbafa65c
6555 Bulk Product adc7cbfd Books $688.93 367 1.1 5 BULK-ca1c50bd
6556 Bulk Product eb96641f Sports & Outdoors $976.74 215 1.0 24 BULK-a9d3ab5d
6557 Bulk Product 75d78b93 Home & Garden $253.12 287 3.6 39 BULK-2b05cbe5
6558 Bulk Product e4091ec3 Sports & Outdoors $380.30 145 4.3 53 BULK-6ad59639
6559 Bulk Product 3287bfae Toys & Games $918.82 155 1.4 26 BULK-c8e53804
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