Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

21 ms

Page Size

50

Current Page

178 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 178 Results Showing 8851 - 8900 of 24441

ID Name Category Price Stock Rating Reviews SKU
9410 Bulk Product bd3ff997 Books $83.01 158 2.3 88 BULK-98477f92
9411 Bulk Product b609c2c2 Sports & Outdoors $115.62 111 2.8 25 BULK-669fa0af
9412 Bulk Product 0c22b320 Clothing $140.50 14 1.3 39 BULK-e3121c4a
9413 Bulk Product 63ba6c49 Home & Garden $304.65 427 3.1 43 BULK-69b59ad0
9414 Bulk Product 58178ecb Electronics $56.57 470 3.9 89 BULK-902e4cb6
9415 Bulk Product fb92ddae Sports & Outdoors $540.04 344 0.7 5 BULK-cb693cd3
9416 Bulk Product 7e089f36 Toys & Games $362.09 192 0.5 44 BULK-863c08db
9417 Bulk Product c35a530e Home & Garden $414.56 12 4.9 67 BULK-07d32345
9418 Bulk Product a0e7cb78 Clothing $898.49 39 1.7 16 BULK-8d1398c2
9419 Bulk Product b078af96 Electronics $200.65 301 2.1 32 BULK-7c739edc
9420 Bulk Product efb7fb37 Books $391.80 254 0.3 52 BULK-85504627
9421 Bulk Product 5ff9e41d Books $808.33 287 3.8 11 BULK-1ec7eba4
9422 Bulk Product c4a6587e Books $386.65 236 2.1 29 BULK-cf0c48a6
9423 Bulk Product a38dc479 Clothing $914.45 320 3.3 99 BULK-aca5de10
9424 Bulk Product f967dd8d Electronics $112.76 78 0.2 63 BULK-776a2767
9425 Bulk Product 244c5279 Toys & Games $721.03 421 4.9 74 BULK-d7797906
9426 Bulk Product d05adcd2 Home & Garden $93.57 70 1.7 92 BULK-c342dd4f
9427 Bulk Product 1c1e94a0 Clothing $627.34 3 1.6 33 BULK-1db46161
9428 Bulk Product 86326378 Clothing $616.88 346 4.7 51 BULK-5612344f
9429 Bulk Product 137be9ba Home & Garden $203.56 211 1.2 4 BULK-73ada5d0
9430 Bulk Product 379accb2 Sports & Outdoors $306.31 285 2.9 69 BULK-58d3cdfe
9431 Bulk Product dfb353aa Sports & Outdoors $117.23 403 2.7 43 BULK-4a7b1ab8
9432 Bulk Product dd02088c Books $65.11 495 2.1 91 BULK-1b6bb7fb
9433 Bulk Product f9803adc Electronics $943.44 220 1.8 16 BULK-ff860d0b
9434 Bulk Product 97a581c8 Electronics $937.52 163 4.9 3 BULK-3345d84a
9435 Bulk Product 39a1c00f Toys & Games $106.85 70 4.3 29 BULK-1743a5fc
9436 Bulk Product 1b6f4e66 Electronics $705.71 128 1.9 56 BULK-cd04df5b
9437 Bulk Product 25ed5581 Books $172.01 352 2.2 29 BULK-4e0f9f6d
9438 Bulk Product 0e26c951 Electronics $155.69 196 1.1 67 BULK-70710ef0
9439 Bulk Product 9122ae4a Books $261.17 22 2.6 78 BULK-f26025b2
9440 Bulk Product 0f3a88ae Toys & Games $356.99 380 0.8 27 BULK-04306442
9441 Bulk Product 770b3773 Electronics $166.70 154 5.0 56 BULK-50da696f
9442 Bulk Product a6f91df0 Home & Garden $541.75 130 1.5 2 BULK-112ba817
9443 Bulk Product fa21b7bc Books $210.64 332 3.3 20 BULK-108c97fe
9444 Bulk Product 1d5df0ae Toys & Games $763.77 340 3.5 10 BULK-4d5b304e
9445 Bulk Product 2c6ea365 Books $186.79 395 1.7 17 BULK-09e1c6a0
9446 Bulk Product c307eedb Electronics $981.32 463 1.6 92 BULK-ee437a03
9447 Bulk Product f59bde97 Sports & Outdoors $526.02 234 0.5 97 BULK-524b58c4
9448 Bulk Product b2b02423 Sports & Outdoors $575.43 47 3.0 75 BULK-b08a56df
9449 Bulk Product 86ef7e0e Toys & Games $25.18 168 4.2 63 BULK-c146e4d0
9450 Bulk Product d838d359 Electronics $646.31 250 5.0 11 BULK-2003e102
9451 Bulk Product 4c071e10 Books $50.24 347 0.8 68 BULK-ff11abff
9452 Bulk Product dc2878de Electronics $488.30 270 1.5 4 BULK-ea51f51c
9453 Bulk Product 4bdf3b6f Toys & Games $769.59 292 0.1 23 BULK-ea5b2e75
9454 Bulk Product fed9a9d4 Books $460.34 364 0.8 84 BULK-8e98476c
9455 Bulk Product df3fd2b5 Sports & Outdoors $533.71 245 2.3 11 BULK-82cd26d7
9456 Bulk Product 7cc38f2b Toys & Games $864.11 201 1.4 34 BULK-efbb02bc
9457 Bulk Product 9373b81c Sports & Outdoors $62.51 488 2.0 4 BULK-3129dc3e
9458 Bulk Product 82089bdd Clothing $440.89 123 1.5 95 BULK-c71b7e9a
9459 Bulk Product e48009b0 Books $710.92 289 1.5 65 BULK-4321b3ab
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