Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

61 ms

Page Size

50

Current Page

378 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 378 Results Showing 18851 - 18900 of 24441

ID Name Category Price Stock Rating Reviews SKU
19410 Bulk Product 20e58f26 Books $746.56 499 3.4 2 BULK-477b83fe
19411 Bulk Product 15fa61b4 Books $850.94 347 0.9 38 BULK-fb4a4bc4
19412 Bulk Product adc15006 Sports & Outdoors $757.78 386 5.0 93 BULK-3137aa33
19413 Bulk Product c5f41cd5 Sports & Outdoors $436.54 283 1.7 77 BULK-ce44f618
19414 Bulk Product 3a725879 Electronics $804.62 415 0.2 18 BULK-460ee21f
19415 Bulk Product 15cd0e9d Home & Garden $866.93 232 0.5 93 BULK-7751214f
19416 Bulk Product 93b0c0b6 Home & Garden $383.33 190 0.7 90 BULK-6d252545
19417 Bulk Product c602f787 Sports & Outdoors $783.95 295 2.9 71 BULK-103375ba
19418 Bulk Product 0fea1d20 Toys & Games $877.99 442 0.0 7 BULK-30219e4d
19419 Bulk Product ab901e6b Books $213.08 119 1.7 45 BULK-f90c6dd4
19420 Bulk Product 0d88f245 Clothing $257.92 344 4.8 13 BULK-16dcb870
19421 Bulk Product 2bc1617d Clothing $988.84 352 3.6 78 BULK-a3edd2f7
19422 Bulk Product 9299da50 Clothing $390.28 145 0.4 61 BULK-6345bd9f
19423 Bulk Product 2f42b4f8 Electronics $142.81 249 4.1 71 BULK-923e9fd1
19424 Bulk Product d55ef77f Toys & Games $789.73 56 2.6 66 BULK-3a3e7917
19425 Bulk Product 0a6557af Home & Garden $823.58 477 4.4 86 BULK-b267578f
19426 Bulk Product ffa9e04e Clothing $906.32 309 2.8 42 BULK-300ead48
19427 Bulk Product e3fda901 Toys & Games $74.68 305 1.1 32 BULK-b9bbb22d
19428 Bulk Product e1bdf499 Toys & Games $60.11 267 4.3 58 BULK-cf03d9c7
19429 Bulk Product 7dad3851 Home & Garden $660.22 24 1.0 70 BULK-1a653131
19430 Bulk Product 960c77fd Books $349.81 354 0.4 18 BULK-2675ec1c
19431 Bulk Product 46812038 Books $100.48 457 1.6 34 BULK-c50de280
19432 Bulk Product b671f9aa Sports & Outdoors $647.33 279 1.3 53 BULK-ca262a76
19433 Bulk Product 33cebf62 Books $16.44 176 3.0 32 BULK-78223256
19434 Bulk Product 2beba750 Sports & Outdoors $879.59 433 4.1 26 BULK-c86ce204
19435 Bulk Product 5ac0ac17 Sports & Outdoors $574.55 3 2.1 18 BULK-3f65f702
19436 Bulk Product 48a2b252 Books $694.58 338 1.2 76 BULK-2671a372
19437 Bulk Product c8a418bb Clothing $266.23 38 3.7 74 BULK-7f02a155
19438 Bulk Product bcc9b063 Books $995.41 136 1.5 78 BULK-708bfb9d
19439 Bulk Product 300c8bbf Toys & Games $854.69 235 4.4 50 BULK-4b07bec4
19440 Bulk Product 8f31d760 Toys & Games $702.33 367 2.6 54 BULK-85176c6d
19441 Bulk Product 5d65544e Electronics $477.50 211 1.5 13 BULK-ec393af9
19442 Bulk Product a417383d Sports & Outdoors $799.07 265 0.1 5 BULK-b9a4d574
19443 Bulk Product 40eb98d3 Books $625.64 169 1.6 4 BULK-673a0e7f
19444 Bulk Product acd3118b Home & Garden $514.73 164 3.2 60 BULK-6d634ed5
19445 Bulk Product 5eb31aa7 Home & Garden $326.87 280 1.2 57 BULK-b5943d67
19446 Bulk Product 63d9ac5e Home & Garden $718.77 376 4.0 4 BULK-47e3d865
19447 Bulk Product aa1e10ec Sports & Outdoors $387.52 250 2.0 57 BULK-979e3cee
19448 Bulk Product f93449c0 Sports & Outdoors $339.08 336 4.0 51 BULK-5b92132b
19449 Bulk Product 1a19e987 Electronics $561.37 260 0.3 26 BULK-fe11ce1d
19450 Bulk Product 0f4717bf Clothing $501.83 64 5.0 15 BULK-afb17ab6
19451 Bulk Product cc173dff Clothing $18.23 422 3.2 84 BULK-c709594b
19452 Bulk Product b322396a Clothing $156.76 275 3.6 60 BULK-a81c77e9
19453 Bulk Product 03c9bdd2 Electronics $967.64 152 4.9 45 BULK-913a18a1
19454 Bulk Product a7c44de2 Books $515.05 297 0.5 3 BULK-9bfb73ae
19455 Bulk Product 988e1fb9 Sports & Outdoors $288.63 493 3.5 88 BULK-28da6102
19456 Bulk Product b88bd294 Sports & Outdoors $806.16 489 4.5 46 BULK-056c36f2
19457 Bulk Product be7c5bba Toys & Games $981.08 51 0.4 29 BULK-355cc634
19458 Bulk Product b9c6cd74 Sports & Outdoors $467.72 142 3.9 39 BULK-3de77894
19459 Bulk Product 22aaa222 Home & Garden $189.78 345 1.6 59 BULK-7d567eb2
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