Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

12 ms

Page Size

50

Current Page

251 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 251 Results Showing 12501 - 12550 of 24441

ID Name Category Price Stock Rating Reviews SKU
13060 Bulk Product 62e99c92 Toys & Games $763.76 213 1.4 12 BULK-b4289e41
13061 Bulk Product 75bf74e8 Electronics $153.35 304 3.1 94 BULK-981c1c79
13062 Bulk Product 22d6d660 Books $364.54 100 3.8 74 BULK-2b41373b
13063 Bulk Product cbeda65c Books $443.64 79 0.1 93 BULK-5c5a2fe2
13064 Bulk Product 6f0d2156 Sports & Outdoors $952.71 479 3.8 88 BULK-5c1e9817
13065 Bulk Product 5828ae0a Toys & Games $401.97 490 1.8 3 BULK-bfdf9559
13066 Bulk Product bbe59fd8 Home & Garden $912.33 451 3.5 54 BULK-910f28ec
13067 Bulk Product 2744bda6 Electronics $367.63 60 3.3 98 BULK-6c09d1ef
13068 Bulk Product 48eb679c Toys & Games $882.40 167 4.8 93 BULK-59d68be9
13069 Bulk Product 352e7256 Sports & Outdoors $591.90 485 0.9 60 BULK-cc1675bd
13070 Bulk Product 5c75c8f7 Books $849.75 380 2.1 46 BULK-347a8364
13071 Bulk Product 65d53c14 Electronics $746.58 289 4.6 62 BULK-f956726c
13072 Bulk Product 83da833f Sports & Outdoors $687.07 309 0.7 51 BULK-caa6b379
13073 Bulk Product f2b8c444 Clothing $272.23 491 2.8 51 BULK-dd79639b
13074 Bulk Product bce4d534 Books $299.09 424 4.2 5 BULK-ce963e8d
13075 Bulk Product 9bfa47b9 Home & Garden $363.99 302 3.8 51 BULK-acd4372a
13076 Bulk Product 8069d585 Electronics $907.97 323 2.1 55 BULK-c2faf35d
13077 Bulk Product eaddf024 Books $389.59 494 3.4 29 BULK-6d45c7e9
13078 Bulk Product cf7bf3a7 Toys & Games $109.63 0 3.0 67 BULK-77971b18
13079 Bulk Product 74af96b7 Books $933.08 484 0.1 21 BULK-09bdb0f2
13080 Bulk Product b9267414 Toys & Games $715.95 384 4.8 30 BULK-3dc120b1
13081 Bulk Product b4bc41e1 Home & Garden $880.43 471 1.5 91 BULK-f8a6950f
13082 Bulk Product f008504b Toys & Games $734.75 158 3.2 88 BULK-2310eda7
13083 Bulk Product d5820e0d Sports & Outdoors $754.63 241 1.3 26 BULK-060ee2ce
13084 Bulk Product cd29862d Home & Garden $892.46 66 0.0 35 BULK-e6e27509
13085 Bulk Product a50b813e Sports & Outdoors $950.96 269 3.8 4 BULK-e46fbf46
13086 Bulk Product 90e74864 Home & Garden $996.43 280 1.9 50 BULK-43cbcfab
13087 Bulk Product e38988ec Toys & Games $994.35 446 0.5 56 BULK-9d75c28c
13088 Bulk Product b15fd89f Toys & Games $514.16 351 0.8 5 BULK-a04b70bd
13089 Bulk Product 590cd7f3 Clothing $980.11 347 2.9 67 BULK-3d81c3d6
13090 Bulk Product a999b055 Clothing $354.05 325 0.4 24 BULK-aef05e62
13091 Bulk Product ef9ab6cd Toys & Games $568.68 321 2.0 14 BULK-5015c699
13092 Bulk Product caee06d3 Home & Garden $961.87 59 1.8 73 BULK-898555ed
13093 Bulk Product cb81df54 Electronics $1,003.61 276 1.9 84 BULK-4737486b
13094 Bulk Product fe0bbe3a Electronics $127.38 195 1.4 4 BULK-93f87fd4
13095 Bulk Product edcbf941 Sports & Outdoors $338.39 490 1.4 92 BULK-fe2e3930
13096 Bulk Product da84af26 Home & Garden $412.78 342 3.7 27 BULK-8032d133
13097 Bulk Product 944dfcba Electronics $234.55 276 4.2 44 BULK-3b267432
13098 Bulk Product c918594c Books $147.10 9 2.6 86 BULK-d965121f
13099 Bulk Product 16095b2a Books $1,000.51 226 2.1 3 BULK-17b34e6c
13100 Bulk Product 5e1c3165 Electronics $750.77 112 4.2 3 BULK-c1f82df9
13101 Bulk Product bfed37a6 Toys & Games $42.92 491 2.6 49 BULK-b47ac71c
13102 Bulk Product 9ca20455 Books $176.68 397 2.5 4 BULK-65f736d6
13103 Bulk Product 1bd80052 Sports & Outdoors $111.51 389 4.9 27 BULK-45b46d96
13104 Bulk Product 14c98b32 Sports & Outdoors $633.40 374 1.2 47 BULK-c187785f
13105 Bulk Product 3e4c14d5 Clothing $814.86 458 3.7 79 BULK-1393b59d
13106 Bulk Product 0e7aa4cb Home & Garden $171.76 275 0.1 32 BULK-5052ff96
13107 Bulk Product 93c72be9 Toys & Games $489.08 94 3.8 5 BULK-b14166cb
13108 Bulk Product f91314a6 Sports & Outdoors $58.76 37 4.9 11 BULK-a935ac5f
13109 Bulk Product 6839b6dd Home & Garden $633.78 438 4.2 87 BULK-65d82858
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