Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

42 ms

Page Size

50

Current Page

475 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 475 Results Showing 23701 - 23750 of 24441

ID Name Category Price Stock Rating Reviews SKU
24260 Bulk Product d2080169 Sports & Outdoors $829.53 476 0.3 19 BULK-7e93ffcc
24261 Bulk Product 4272137c Home & Garden $628.80 375 0.5 79 BULK-25ac654b
24262 Bulk Product cf851bcb Toys & Games $30.50 349 3.6 32 BULK-edefc1ea
24263 Bulk Product b96e8818 Clothing $53.85 291 2.2 31 BULK-f4312e68
24264 Bulk Product 1421b459 Sports & Outdoors $321.38 248 0.4 62 BULK-ca02a933
24265 Bulk Product 47c86741 Sports & Outdoors $976.69 282 1.7 41 BULK-416a57ea
24266 Bulk Product d3372d17 Electronics $75.54 115 4.9 44 BULK-8d02b67f
24267 Bulk Product 0e2a0d7b Home & Garden $138.72 54 2.3 68 BULK-932eec8f
24268 Bulk Product c26d0201 Books $293.01 370 2.7 38 BULK-2cffa2d5
24269 Bulk Product db4a36db Home & Garden $224.45 68 1.1 41 BULK-ba646713
24270 Bulk Product c7bb35e7 Clothing $886.65 396 4.0 56 BULK-a166c04e
24271 Bulk Product b41ed421 Books $493.62 179 4.5 65 BULK-82fe2fca
24272 Bulk Product d373fb3f Electronics $332.96 42 3.4 58 BULK-1f4a69bd
24273 Bulk Product 3eea6b8e Electronics $91.93 75 4.8 61 BULK-5b4b933c
24274 Bulk Product 8195dfc6 Sports & Outdoors $427.78 361 1.9 58 BULK-b4f6fdf2
24275 Bulk Product 71b454e3 Clothing $118.99 338 5.0 0 BULK-bb03bee6
24276 Bulk Product 8e4e8538 Electronics $168.08 243 0.4 6 BULK-8aa15f9a
24277 Bulk Product 7fbae816 Home & Garden $669.40 357 2.9 41 BULK-d45c398f
24278 Bulk Product 342cff71 Clothing $957.81 359 2.7 68 BULK-7be4fc11
24279 Bulk Product 66149958 Clothing $598.37 77 1.5 33 BULK-d1cedff7
24280 Bulk Product 47a356e2 Clothing $462.03 74 0.6 65 BULK-e0f9e1c2
24281 Bulk Product 1f43bce8 Sports & Outdoors $412.58 37 3.6 48 BULK-1e2c17bc
24282 Bulk Product 735db58b Toys & Games $419.15 71 3.6 60 BULK-89c8cda5
24283 Bulk Product a5920cb7 Electronics $817.38 403 2.4 22 BULK-9a6f0f01
24284 Bulk Product 94b0a4ff Electronics $680.07 480 3.7 97 BULK-b357998f
24285 Bulk Product 226c99f9 Books $991.65 159 3.6 86 BULK-ed7a45e8
24286 Bulk Product 2fe64224 Books $699.25 239 3.7 45 BULK-e0a20f37
24287 Bulk Product d7dbbb89 Clothing $417.88 3 4.9 87 BULK-e85e20de
24288 Bulk Product 3f9f7470 Electronics $561.99 461 3.2 62 BULK-cf3516e4
24289 Bulk Product a47cc51d Books $384.25 495 2.4 41 BULK-c7a1fdfb
24290 Bulk Product cd8a7338 Home & Garden $484.88 194 2.7 32 BULK-a1ff757e
24291 Bulk Product 1436ad57 Toys & Games $331.11 182 1.0 10 BULK-263abc7f
24292 Bulk Product 080eb84a Books $232.98 358 2.5 0 BULK-2a2bfb6f
24293 Bulk Product c0a64dcd Books $63.72 355 3.2 55 BULK-4646cf43
24294 Bulk Product b231010d Books $790.39 41 1.3 50 BULK-42a23fef
24295 Bulk Product efc4af1e Clothing $596.30 201 3.2 45 BULK-baf2be24
24296 Bulk Product 39536f70 Toys & Games $341.22 406 4.2 55 BULK-9e33c2df
24297 Bulk Product 046078c8 Home & Garden $976.05 283 1.7 38 BULK-7cc41044
24298 Bulk Product 66bd7e78 Electronics $680.84 235 2.0 14 BULK-f20819f3
24299 Bulk Product 450d4f03 Sports & Outdoors $903.30 104 1.2 62 BULK-e214706b
24300 Bulk Product b3d2794c Toys & Games $843.28 416 3.6 1 BULK-f5d8bd0e
24301 Bulk Product b619120d Clothing $530.53 336 4.8 89 BULK-221505f8
24302 Bulk Product 89f4d20f Toys & Games $708.17 471 3.3 49 BULK-a2c13e38
24303 Bulk Product a3f8c96d Sports & Outdoors $547.49 71 1.2 86 BULK-7c76a846
24304 Bulk Product df3a352a Toys & Games $525.62 294 0.8 78 BULK-fba345d3
24305 Bulk Product b1afc906 Home & Garden $408.09 336 3.5 4 BULK-2c8278d2
24306 Bulk Product 8621e84e Clothing $720.92 336 1.1 54 BULK-81709226
24307 Bulk Product 9e558d5e Clothing $567.30 270 2.0 75 BULK-d4f9f30c
24308 Bulk Product ef39ca9a Toys & Games $870.70 54 0.9 49 BULK-c6d0c43d
24309 Bulk Product 55dfb6ab Home & Garden $117.43 149 1.8 87 BULK-b749bed5
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