Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

34 ms

Page Size

50

Current Page

262 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 262 Results Showing 13051 - 13100 of 24441

ID Name Category Price Stock Rating Reviews SKU
13610 Bulk Product 6db9a6f1 Toys & Games $266.68 38 2.1 26 BULK-b92563a8
13611 Bulk Product feb8c1f5 Home & Garden $894.39 388 0.3 12 BULK-35de84b4
13612 Bulk Product 11e4d3e1 Books $666.88 256 4.3 97 BULK-976c8025
13613 Bulk Product 73917219 Electronics $259.08 257 3.7 40 BULK-681777d3
13614 Bulk Product eaa29c4b Electronics $521.52 60 0.2 70 BULK-3b094dda
13615 Bulk Product 67aa8594 Home & Garden $258.63 327 2.8 74 BULK-6543eb06
13616 Bulk Product 86c1eeed Books $934.08 353 4.6 61 BULK-ae0f211e
13617 Bulk Product bb812d70 Sports & Outdoors $239.55 22 0.8 16 BULK-05c0844f
13618 Bulk Product 08ec5693 Toys & Games $119.08 470 1.6 51 BULK-87ce391e
13619 Bulk Product abf3f934 Electronics $559.76 131 4.2 7 BULK-cdd74263
13620 Bulk Product 5df7c74e Sports & Outdoors $249.37 453 3.0 95 BULK-326d51d2
13621 Bulk Product b97016b2 Clothing $27.66 66 3.1 65 BULK-302a3f8c
13622 Bulk Product e02fdad8 Clothing $991.84 370 0.3 86 BULK-2e6314f3
13623 Bulk Product e91ad5b6 Sports & Outdoors $550.17 492 4.0 90 BULK-85318120
13624 Bulk Product 0425dcd0 Clothing $413.18 415 1.9 82 BULK-05ac9f86
13625 Bulk Product b57cce92 Books $395.49 182 4.0 54 BULK-466513dd
13626 Bulk Product b0286463 Electronics $921.89 155 0.1 45 BULK-a33db946
13627 Bulk Product a15047d4 Toys & Games $443.95 182 1.7 87 BULK-f15eddc1
13628 Bulk Product 8adb44da Sports & Outdoors $217.01 273 1.5 97 BULK-0eadb4b5
13629 Bulk Product 32e98332 Toys & Games $709.12 497 1.8 48 BULK-f508f33a
13630 Bulk Product b7fa58f0 Toys & Games $268.31 436 2.5 81 BULK-e29f3f3e
13631 Bulk Product 97b49dbf Home & Garden $969.35 314 1.3 12 BULK-77588c11
13632 Bulk Product 341ba57f Clothing $470.54 86 0.2 72 BULK-146e9d7d
13633 Bulk Product 811599b4 Books $85.91 141 4.3 88 BULK-268add49
13634 Bulk Product 1c5de4f7 Books $362.31 290 2.7 28 BULK-77a6f54a
13635 Bulk Product 936b8927 Toys & Games $489.14 235 2.6 74 BULK-314079f4
13636 Bulk Product 0b86cadc Toys & Games $790.74 416 3.5 14 BULK-afe87a00
13637 Bulk Product 621624a2 Home & Garden $959.73 428 4.7 94 BULK-b4367baf
13638 Bulk Product 0e3e4602 Books $904.28 126 1.7 59 BULK-cef76fc4
13639 Bulk Product 145dd2d8 Books $335.61 395 2.1 52 BULK-78043867
13640 Bulk Product af243877 Electronics $928.36 150 2.6 3 BULK-6a4b5fe8
13641 Bulk Product 344c7613 Sports & Outdoors $328.73 364 0.5 46 BULK-c76d1896
13642 Bulk Product 74d39535 Electronics $662.39 240 3.8 30 BULK-2b9abe44
13643 Bulk Product 31dec56c Toys & Games $42.47 156 2.1 90 BULK-56e709e3
13644 Bulk Product 6c27f5c1 Electronics $904.11 384 4.5 89 BULK-24813b8e
13645 Bulk Product 0380c466 Books $251.72 376 3.4 87 BULK-76ff83f5
13646 Bulk Product b5f5b981 Toys & Games $494.77 309 1.4 31 BULK-5e2bb279
13647 Bulk Product 12596a37 Sports & Outdoors $801.51 130 2.4 96 BULK-7df4276c
13648 Bulk Product 19814d97 Clothing $34.53 167 4.6 22 BULK-ac496389
13649 Bulk Product bf69d92a Home & Garden $443.02 457 4.3 57 BULK-b8138322
13650 Bulk Product 7ab8ef53 Electronics $374.16 229 3.2 42 BULK-f3b99f85
13651 Bulk Product 93409f55 Books $429.28 363 1.2 80 BULK-668687cc
13652 Bulk Product 35561690 Home & Garden $929.87 443 5.0 60 BULK-302be892
13653 Bulk Product a0985cb0 Electronics $617.71 128 4.3 98 BULK-c66f302d
13654 Bulk Product f9037fec Sports & Outdoors $449.05 408 5.0 26 BULK-64b03b9c
13655 Bulk Product 097cde8f Home & Garden $245.80 190 0.2 21 BULK-c9a1b18f
13656 Bulk Product ee78762c Home & Garden $853.14 336 3.1 38 BULK-d23cd1bd
13657 Bulk Product ad4ae81f Books $719.09 465 4.8 84 BULK-7e8f149a
13658 Bulk Product b32ac9d8 Clothing $1,002.24 370 3.7 11 BULK-f90ce6d6
13659 Bulk Product 693430da Books $509.08 24 2.3 63 BULK-3ec24e68
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