Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

60 ms

Page Size

50

Current Page

400 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 400 Results Showing 19951 - 20000 of 24441

ID Name Category Price Stock Rating Reviews SKU
20510 Bulk Product daf612cb Toys & Games $775.75 433 3.1 23 BULK-d2b48694
20511 Bulk Product 90613caf Clothing $166.93 4 4.1 60 BULK-a2e3b978
20512 Bulk Product cc45ac87 Toys & Games $592.07 211 0.5 18 BULK-46f37b6e
20513 Bulk Product 2e437ac7 Books $491.01 133 3.6 97 BULK-e5a95ed8
20514 Bulk Product 34ce8244 Electronics $844.45 217 0.3 26 BULK-95ef52f5
20515 Bulk Product c4b3f287 Home & Garden $703.05 316 1.8 75 BULK-676309ba
20516 Bulk Product 82afd7bc Clothing $282.65 413 4.7 56 BULK-076ee568
20517 Bulk Product e6e64aa0 Toys & Games $478.68 452 3.1 85 BULK-2e6fa4f9
20518 Bulk Product 010ef53f Home & Garden $164.61 10 3.9 98 BULK-a4807046
20519 Bulk Product 19fc61cc Books $103.15 94 2.6 66 BULK-24feed9f
20520 Bulk Product 7a1290eb Sports & Outdoors $583.18 148 5.0 27 BULK-7b3139e7
20521 Bulk Product bd522fad Clothing $226.70 452 0.5 14 BULK-cb379bd0
20522 Bulk Product 99ebb46a Sports & Outdoors $262.09 411 2.1 27 BULK-f3256ea6
20523 Bulk Product f17d5252 Clothing $431.08 166 4.0 27 BULK-6a9f8018
20524 Bulk Product c3bfc443 Books $173.48 426 4.6 81 BULK-be32b70c
20525 Bulk Product bf1f49dc Toys & Games $851.11 387 0.1 4 BULK-1feed50c
20526 Bulk Product 076ccf83 Home & Garden $642.95 278 3.5 41 BULK-9f19621b
20527 Bulk Product 63aa28bd Electronics $440.73 216 3.5 90 BULK-117f2f12
20528 Bulk Product 763d5904 Electronics $946.63 20 3.5 94 BULK-d12c1a44
20529 Bulk Product 17f57d59 Toys & Games $253.44 138 3.6 68 BULK-bb394c30
20530 Bulk Product a668d31b Home & Garden $55.58 136 1.5 56 BULK-b50748f7
20531 Bulk Product 5f7bd939 Clothing $104.04 15 0.6 19 BULK-d678453a
20532 Bulk Product 682a3c82 Toys & Games $468.33 184 1.9 89 BULK-2391f3ff
20533 Bulk Product a2e9b743 Home & Garden $523.97 323 3.6 99 BULK-699b31ca
20534 Bulk Product 0b2fd878 Sports & Outdoors $134.38 227 4.9 4 BULK-058fb9e5
20535 Bulk Product 3fc111d0 Electronics $125.78 292 3.9 24 BULK-8c7a162e
20536 Bulk Product 363a51a8 Electronics $975.48 264 4.6 16 BULK-d38a489d
20537 Bulk Product 7f3daec2 Clothing $704.35 182 2.6 99 BULK-b6e80928
20538 Bulk Product b612ab30 Electronics $199.76 223 0.3 32 BULK-044347c2
20539 Bulk Product 7856e18e Electronics $547.38 494 3.9 32 BULK-e150491d
20540 Bulk Product 6ade2fb1 Sports & Outdoors $135.83 278 0.3 71 BULK-f85624fc
20541 Bulk Product 387c39ab Clothing $773.98 82 2.7 98 BULK-93b099de
20542 Bulk Product b0b4208e Clothing $136.39 314 3.4 35 BULK-afd1b40a
20543 Bulk Product 2c226dd8 Books $87.94 484 4.2 67 BULK-46976fb8
20544 Bulk Product e5cd93b2 Sports & Outdoors $557.36 255 3.2 92 BULK-1f76382a
20545 Bulk Product 6f251d8f Clothing $252.79 439 3.1 40 BULK-ab231692
20546 Bulk Product 12bb48ca Books $252.97 79 1.4 62 BULK-f9715567
20547 Bulk Product b9c95ac2 Electronics $766.30 308 0.1 88 BULK-f9a9b3f9
20548 Bulk Product 6b2b257d Sports & Outdoors $149.32 14 0.6 21 BULK-15e7c51b
20549 Bulk Product 16d4e887 Electronics $228.71 231 5.0 19 BULK-aff168cf
20550 Bulk Product 94fcc5d0 Books $865.89 327 3.0 76 BULK-cd724754
20551 Bulk Product 6f679961 Toys & Games $440.66 400 0.2 9 BULK-81494a44
20552 Bulk Product 2b87a495 Toys & Games $604.55 287 0.3 4 BULK-2e60d9b6
20553 Bulk Product 62b77e88 Sports & Outdoors $125.13 39 2.4 35 BULK-37e9fd6b
20554 Bulk Product 8ad07101 Clothing $895.53 83 0.2 16 BULK-3a84d2ae
20555 Bulk Product e500507c Toys & Games $28.13 145 4.1 3 BULK-aca5fb9f
20556 Bulk Product 139e66c6 Sports & Outdoors $274.59 92 3.4 89 BULK-eca5193b
20557 Bulk Product 35d6841a Home & Garden $69.24 62 3.6 17 BULK-e370553a
20558 Bulk Product 3e1f475a Sports & Outdoors $949.57 185 0.6 61 BULK-c2f3862e
20559 Bulk Product 5d98b29d Toys & Games $146.00 306 0.8 2 BULK-242d6511
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