Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

10 ms

Page Size

50

Current Page

198 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 198 Results Showing 9851 - 9900 of 24441

ID Name Category Price Stock Rating Reviews SKU
10410 Bulk Product f37aeb41 Home & Garden $671.91 217 1.6 1 BULK-a45303a4
10411 Bulk Product 1aa07be1 Books $891.61 207 2.0 90 BULK-a945a5c7
10412 Bulk Product 14dee846 Toys & Games $749.39 216 0.4 5 BULK-92f0b27a
10413 Bulk Product 410c0d54 Toys & Games $1,002.61 366 2.1 35 BULK-bff298ce
10414 Bulk Product f1faf751 Books $24.38 289 3.1 83 BULK-663eb13d
10415 Bulk Product a2ed8520 Sports & Outdoors $272.48 343 4.0 72 BULK-105ccfeb
10416 Bulk Product ee7439e5 Books $474.66 219 2.8 53 BULK-9ad243b0
10417 Bulk Product 8481f77c Home & Garden $427.66 399 0.6 13 BULK-3dd46f57
10418 Bulk Product b0c2f8a5 Sports & Outdoors $237.49 389 4.2 9 BULK-ce30d226
10419 Bulk Product 045b6c26 Sports & Outdoors $496.50 391 3.7 76 BULK-b247f1ad
10420 Bulk Product baf2045f Electronics $457.40 115 4.7 85 BULK-8a4b1dda
10421 Bulk Product 8e103166 Electronics $379.16 380 4.3 5 BULK-f847fb4c
10422 Bulk Product e91a5e3f Books $402.93 382 2.3 80 BULK-7b1b4bf4
10423 Bulk Product 160696ed Sports & Outdoors $727.13 475 3.1 59 BULK-adb0770c
10424 Bulk Product 707a5a50 Electronics $165.61 95 0.9 29 BULK-4a3c7688
10425 Bulk Product 4d2b997c Sports & Outdoors $682.30 297 1.1 24 BULK-7f2eca76
10426 Bulk Product 8937d0f5 Books $299.28 93 4.9 36 BULK-ff4fdcf3
10427 Bulk Product 259f82c9 Home & Garden $691.45 247 0.8 93 BULK-7d3813fd
10428 Bulk Product 9bda6606 Toys & Games $938.64 216 1.0 32 BULK-e1db3db5
10429 Bulk Product 5f6bd276 Clothing $314.63 394 2.4 78 BULK-15307f15
10430 Bulk Product 15ff8ab7 Clothing $329.09 13 4.4 19 BULK-2fcb911e
10431 Bulk Product 0c7b40ec Sports & Outdoors $222.64 34 3.3 55 BULK-d2343060
10432 Bulk Product dd0d8f80 Toys & Games $842.54 430 4.1 45 BULK-4c72b2c3
10433 Bulk Product 1a59791d Electronics $55.90 410 1.2 23 BULK-ab3486cd
10434 Bulk Product 4680d461 Toys & Games $816.62 144 4.1 82 BULK-a53038aa
10435 Bulk Product bc65d700 Clothing $636.85 375 3.0 7 BULK-a3aef224
10436 Bulk Product 03b31533 Toys & Games $725.56 195 3.2 73 BULK-e7f53caa
10437 Bulk Product bb66d8d5 Electronics $143.05 394 0.8 59 BULK-7f5f3bc8
10438 Bulk Product 32da064e Books $882.57 108 4.7 79 BULK-d4e25bbd
10439 Bulk Product d129b9cf Home & Garden $659.49 67 0.5 40 BULK-7d37a4f5
10440 Bulk Product 0df0add9 Toys & Games $206.96 476 1.0 29 BULK-2e61f830
10441 Bulk Product 039bf4a4 Clothing $638.32 106 4.9 61 BULK-b920d1a0
10442 Bulk Product 44f54cbe Clothing $680.25 400 3.0 5 BULK-99d1f754
10443 Bulk Product f0a571cc Home & Garden $775.96 399 3.0 40 BULK-4ebd2665
10444 Bulk Product e00a5613 Clothing $241.65 139 0.5 44 BULK-2c6c606a
10445 Bulk Product 279e9c5a Toys & Games $620.94 382 0.9 83 BULK-493a852e
10446 Bulk Product 98b4250e Clothing $443.59 488 3.9 98 BULK-55231ee6
10447 Bulk Product 38602a09 Books $846.92 326 2.6 14 BULK-b9fe8b9f
10448 Bulk Product 4e781488 Toys & Games $1,004.28 110 4.8 41 BULK-65efe7d4
10449 Bulk Product 6d64f5fb Electronics $877.18 409 1.4 34 BULK-da78b728
10450 Bulk Product 5bee1d5b Electronics $317.83 104 3.9 21 BULK-003e4a66
10451 Bulk Product a997f9bf Home & Garden $243.96 265 1.6 96 BULK-f55f934a
10452 Bulk Product c88d373e Sports & Outdoors $758.81 107 4.9 37 BULK-b592b76c
10453 Bulk Product 46d88a7b Electronics $314.20 38 3.1 8 BULK-35ba93ce
10454 Bulk Product bfd33794 Electronics $877.30 302 2.1 55 BULK-bff34a95
10455 Bulk Product 5c48f291 Books $267.05 322 0.8 74 BULK-7adecb72
10456 Bulk Product addbb9ed Clothing $12.05 483 1.5 90 BULK-cc2bbef0
10457 Bulk Product 900f70ef Clothing $475.75 137 2.7 11 BULK-9008abc2
10458 Bulk Product cffc9d22 Clothing $189.45 392 2.6 61 BULK-d724af60
10459 Bulk Product a827291d Toys & Games $395.89 124 3.7 15 BULK-f449afeb
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