Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

21 ms

Page Size

50

Current Page

322 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 322 Results Showing 16051 - 16100 of 24441

ID Name Category Price Stock Rating Reviews SKU
16610 Bulk Product 282c3238 Clothing $795.39 359 3.9 70 BULK-838842a4
16611 Bulk Product 31784b44 Toys & Games $659.02 372 3.4 93 BULK-1b3a1644
16612 Bulk Product 3a8dce48 Toys & Games $808.62 283 1.6 35 BULK-1d3263c9
16613 Bulk Product 77bac2ad Electronics $753.51 167 2.7 12 BULK-6b358b2f
16614 Bulk Product 0c6ba7cf Toys & Games $331.99 113 1.3 18 BULK-33f45362
16615 Bulk Product ac1cb61e Clothing $572.16 36 2.9 31 BULK-f9ca91e9
16616 Bulk Product 5326ac64 Clothing $495.34 373 3.7 45 BULK-6fc77a70
16617 Bulk Product 8de771d1 Electronics $241.46 299 2.8 26 BULK-dee36385
16618 Bulk Product 13f148d2 Books $1,004.68 254 2.8 52 BULK-61e78fed
16619 Bulk Product 22426b7e Clothing $605.10 289 4.9 48 BULK-4886b53b
16620 Bulk Product 8f8a8cb4 Books $666.66 254 1.9 71 BULK-2ad02b62
16621 Bulk Product 7249e045 Toys & Games $870.90 340 0.7 35 BULK-09dd90c1
16622 Bulk Product f0c706cb Home & Garden $976.74 241 4.7 81 BULK-1104385e
16623 Bulk Product daf8fd09 Sports & Outdoors $218.44 277 4.4 40 BULK-4cd24d14
16624 Bulk Product 63650a03 Home & Garden $526.18 64 0.7 55 BULK-4a5af0c9
16625 Bulk Product 0ac0bb55 Sports & Outdoors $393.13 169 1.3 42 BULK-82570eef
16626 Bulk Product e285d055 Sports & Outdoors $830.30 312 4.4 14 BULK-331a9fe3
16627 Bulk Product 5ed5ace7 Books $663.83 264 1.5 40 BULK-6b130211
16628 Bulk Product 073dadb6 Home & Garden $278.65 12 3.6 32 BULK-958c4d9d
16629 Bulk Product 79ff558f Clothing $945.75 28 0.3 20 BULK-27dbf291
16630 Bulk Product 31476f38 Home & Garden $25.68 352 0.1 81 BULK-f5682e46
16631 Bulk Product 1b4c8956 Electronics $603.53 19 4.4 87 BULK-fa15b365
16632 Bulk Product 7cc0b9b3 Clothing $425.21 152 4.5 91 BULK-dbe262f9
16633 Bulk Product 85fb0848 Toys & Games $883.22 191 2.9 81 BULK-f132a6fd
16634 Bulk Product 6ff10e60 Electronics $712.80 239 3.2 55 BULK-0c93034e
16635 Bulk Product 991675b4 Sports & Outdoors $674.45 145 4.7 81 BULK-a4ad5509
16636 Bulk Product 3c564f3a Home & Garden $185.96 371 4.0 33 BULK-afa24015
16637 Bulk Product 7f52c21d Sports & Outdoors $262.58 62 3.1 27 BULK-5fe146b9
16638 Bulk Product 1d981a10 Sports & Outdoors $989.69 179 1.5 66 BULK-a808c285
16639 Bulk Product 3b139c44 Electronics $926.10 181 4.7 60 BULK-885d9791
16640 Bulk Product 830452c9 Sports & Outdoors $804.96 48 1.7 64 BULK-a2ae045c
16641 Bulk Product c2ac8356 Clothing $69.21 204 1.4 82 BULK-a857a559
16642 Bulk Product 30a69e9e Toys & Games $888.27 25 1.6 34 BULK-c28d22a2
16643 Bulk Product cd0d526b Books $433.62 440 2.9 17 BULK-cc78f00f
16644 Bulk Product d59644f6 Sports & Outdoors $81.46 97 1.7 26 BULK-c0fad0f3
16645 Bulk Product 35ed7db2 Electronics $560.53 69 4.0 19 BULK-43fa6c96
16646 Bulk Product 8610154e Books $782.15 348 4.7 67 BULK-af0986f4
16647 Bulk Product dea438bf Home & Garden $107.39 367 0.8 15 BULK-60325f51
16648 Bulk Product c02817c0 Home & Garden $815.03 35 0.2 90 BULK-3466c6ef
16649 Bulk Product 25c17003 Electronics $303.98 14 4.3 11 BULK-c606ef8c
16650 Bulk Product c92bff4a Clothing $144.10 24 0.6 9 BULK-377549d5
16651 Bulk Product 8a20c982 Toys & Games $706.82 274 3.6 4 BULK-dcf6aaf5
16652 Bulk Product 7c8b8558 Clothing $206.97 7 0.7 22 BULK-6b9f1460
16653 Bulk Product 06e2f973 Electronics $431.44 234 3.1 82 BULK-6538a920
16654 Bulk Product 57e14586 Clothing $629.62 168 2.7 42 BULK-be39984d
16655 Bulk Product bda6c899 Toys & Games $954.58 280 3.9 16 BULK-b992832f
16656 Bulk Product b32f31be Clothing $317.76 292 3.1 3 BULK-8ad9e440
16657 Bulk Product 33fb7731 Sports & Outdoors $215.03 262 4.1 56 BULK-e72cfc29
16658 Bulk Product 257c7ada Toys & Games $847.25 353 4.5 15 BULK-e6fd1f14
16659 Bulk Product 60d84493 Books $369.68 326 2.8 31 BULK-1a64b9c6
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