Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

28 ms

Page Size

50

Current Page

336 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 336 Results Showing 16751 - 16800 of 24441

ID Name Category Price Stock Rating Reviews SKU
17310 Bulk Product 390566a2 Electronics $115.65 447 2.5 86 BULK-2c0fea5b
17311 Bulk Product 5f2f345d Home & Garden $391.78 95 4.1 34 BULK-2542ebe9
17312 Bulk Product 86691b60 Clothing $96.10 250 1.3 87 BULK-66349058
17313 Bulk Product c1aa3312 Electronics $279.37 499 0.3 55 BULK-b162f1c0
17314 Bulk Product 55421f8c Books $463.34 293 1.1 60 BULK-f2876826
17315 Bulk Product 56d3fa66 Toys & Games $161.78 162 2.0 89 BULK-2f3b9aa2
17316 Bulk Product 91d6d124 Home & Garden $822.29 46 4.8 75 BULK-cfd72429
17317 Bulk Product 1c1d1f69 Clothing $842.39 45 0.3 88 BULK-2d0781fe
17318 Bulk Product ad67910e Toys & Games $133.04 313 3.0 96 BULK-6973e49f
17319 Bulk Product bcfb4e6a Sports & Outdoors $24.32 55 0.6 59 BULK-d87ea64e
17320 Bulk Product e757e7d2 Home & Garden $742.64 168 4.1 13 BULK-6cfb2a9b
17321 Bulk Product 5cc14850 Home & Garden $869.95 210 2.9 13 BULK-c31b32d2
17322 Bulk Product 1aecc86c Books $591.79 289 5.0 80 BULK-8df2e20f
17323 Bulk Product b443b1dc Sports & Outdoors $626.50 202 0.7 44 BULK-f7dd457a
17324 Bulk Product 972a6bbf Electronics $64.59 338 4.3 59 BULK-9c12cee2
17325 Bulk Product 354243ae Home & Garden $935.49 112 0.3 8 BULK-5eb75623
17326 Bulk Product 9fc51b00 Books $938.44 450 2.5 36 BULK-d3e6fcf9
17327 Bulk Product bcebe373 Clothing $203.19 224 1.1 71 BULK-935f0912
17328 Bulk Product 17c45bcd Sports & Outdoors $44.94 449 1.5 66 BULK-90d43796
17329 Bulk Product 270f05af Books $658.33 313 0.4 54 BULK-ac6f727d
17330 Bulk Product dba7c627 Sports & Outdoors $666.83 22 0.6 6 BULK-83e26e3d
17331 Bulk Product fe3bd83c Books $447.00 423 3.5 19 BULK-46bc945e
17332 Bulk Product c6d8c1f0 Toys & Games $60.94 337 2.6 48 BULK-7a79ad54
17333 Bulk Product de2e5b41 Home & Garden $533.03 281 0.6 63 BULK-35677032
17334 Bulk Product a309c243 Sports & Outdoors $490.66 78 1.4 35 BULK-943ee3cd
17335 Bulk Product 52235005 Books $903.45 308 1.4 9 BULK-025c783a
17336 Bulk Product 54b6b198 Toys & Games $990.60 112 2.8 67 BULK-1d15c363
17337 Bulk Product e2e78064 Home & Garden $795.27 251 2.4 9 BULK-ba2c7e1f
17338 Bulk Product 39c5e34b Home & Garden $16.83 484 2.2 0 BULK-67b111fb
17339 Bulk Product fc99f5c0 Toys & Games $926.02 217 4.5 3 BULK-6a626e3a
17340 Bulk Product 716c7a80 Sports & Outdoors $869.67 155 1.7 57 BULK-877ae13a
17341 Bulk Product 7909c6a2 Clothing $677.99 99 3.6 51 BULK-b3a0d601
17342 Bulk Product 34f86a72 Sports & Outdoors $694.36 98 3.7 11 BULK-0b92b38d
17343 Bulk Product f5bb21a9 Electronics $490.47 441 2.6 86 BULK-4b22d0e8
17344 Bulk Product 526726d0 Clothing $550.80 89 2.6 81 BULK-55bb9444
17345 Bulk Product 8d30b6ed Sports & Outdoors $324.86 456 2.8 3 BULK-2d7f1a0f
17346 Bulk Product 41e8c2ec Toys & Games $930.58 5 0.8 95 BULK-dd9fa9d3
17347 Bulk Product 590fa134 Sports & Outdoors $805.11 298 0.4 74 BULK-17995671
17348 Bulk Product 8bd29a47 Sports & Outdoors $145.08 56 2.0 76 BULK-0161a116
17349 Bulk Product 5ed9356a Clothing $926.50 354 2.2 26 BULK-56ed4e70
17350 Bulk Product 51f32ba9 Books $10.24 40 1.3 46 BULK-84e5de2f
17351 Bulk Product c78738d8 Clothing $419.53 350 2.6 4 BULK-c1375d54
17352 Bulk Product 0733e26b Toys & Games $403.68 434 0.7 86 BULK-4ef401e2
17353 Bulk Product 319bd00d Books $75.92 429 0.1 19 BULK-04731b6c
17354 Bulk Product 7db9006c Home & Garden $195.42 441 0.8 18 BULK-a7766023
17355 Bulk Product 614d2577 Toys & Games $229.11 125 0.0 50 BULK-bab9cbb8
17356 Bulk Product c2bc4171 Toys & Games $963.16 158 0.6 70 BULK-13a1e1bd
17357 Bulk Product 73d56a33 Clothing $167.28 59 3.0 89 BULK-f8e307b2
17358 Bulk Product 0d96e829 Books $621.70 57 4.8 71 BULK-d3a9a2e1
17359 Bulk Product 2f969cb1 Toys & Games $19.27 49 0.4 4 BULK-34856d6e
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