Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

168 ms

Page Size

50

Current Page

318 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 318 Results Showing 15851 - 15900 of 24441

ID Name Category Price Stock Rating Reviews SKU
16410 Bulk Product d8f13b55 Books $160.81 287 4.9 60 BULK-29e2516a
16411 Bulk Product d61df048 Books $489.96 481 3.2 57 BULK-c77b5c6f
16412 Bulk Product 3ab0d9fb Home & Garden $892.44 461 1.4 34 BULK-bd65b8ff
16413 Bulk Product ef7f67ca Home & Garden $79.95 99 1.4 27 BULK-8cd59c5b
16414 Bulk Product a536dd6a Toys & Games $35.56 215 4.5 57 BULK-457a64af
16415 Bulk Product 793759e8 Clothing $625.77 20 1.2 45 BULK-3c959ed7
16416 Bulk Product 855c429b Electronics $596.90 54 4.1 32 BULK-387ca0f7
16417 Bulk Product e29471be Sports & Outdoors $484.64 278 4.4 25 BULK-9668a6d7
16418 Bulk Product 599a0a2c Books $28.01 133 4.7 28 BULK-aed145e5
16419 Bulk Product 9f1d532c Home & Garden $119.08 379 4.6 74 BULK-31e64ae8
16420 Bulk Product 798f6f0b Toys & Games $308.66 313 4.5 7 BULK-f6f35ebb
16421 Bulk Product f6aea849 Books $467.51 93 1.9 89 BULK-25a6bdfc
16422 Bulk Product 6d4935ad Sports & Outdoors $560.32 488 3.8 23 BULK-d3686051
16423 Bulk Product 188b6876 Sports & Outdoors $460.56 208 2.2 41 BULK-84141aa9
16424 Bulk Product e658c851 Books $313.59 415 3.5 79 BULK-b6f22e63
16425 Bulk Product 50fbd3c4 Sports & Outdoors $699.91 217 1.5 16 BULK-c0f9761b
16426 Bulk Product 2278576d Sports & Outdoors $851.12 147 2.7 14 BULK-bcbeb784
16427 Bulk Product 1fa72e6a Clothing $841.76 432 0.7 60 BULK-10a87de0
16428 Bulk Product f432eb3d Sports & Outdoors $233.51 14 4.3 7 BULK-18255058
16429 Bulk Product cc883c79 Electronics $29.58 385 4.3 81 BULK-3a7bee13
16430 Bulk Product 94997174 Sports & Outdoors $302.89 121 4.0 99 BULK-e6e1c32d
16431 Bulk Product 74eb83d9 Electronics $207.92 374 4.9 2 BULK-70a1c409
16432 Bulk Product c7bfb509 Sports & Outdoors $57.66 71 1.6 13 BULK-a14d37e1
16433 Bulk Product 370722ba Books $877.71 14 3.9 75 BULK-f504861d
16434 Bulk Product 7ec960de Home & Garden $713.58 50 0.3 28 BULK-1892302f
16435 Bulk Product 8572a8a2 Electronics $562.10 388 3.5 55 BULK-abb17b6d
16436 Bulk Product 1d7be1b6 Home & Garden $644.30 259 1.7 81 BULK-470f9e7a
16437 Bulk Product 52aff8c7 Electronics $894.72 10 3.2 82 BULK-1731c13b
16438 Bulk Product c4a80d85 Books $208.65 275 2.3 38 BULK-04615753
16439 Bulk Product 608f70ce Home & Garden $446.62 100 4.6 86 BULK-fc81da38
16440 Bulk Product 6e8d888d Home & Garden $365.55 85 3.0 88 BULK-a8e7a446
16441 Bulk Product f2ed94cf Clothing $676.79 279 3.8 75 BULK-6d92b9ed
16442 Bulk Product 5df6780f Books $432.84 187 2.0 75 BULK-60901d93
16443 Bulk Product 4f66327e Electronics $569.04 145 0.3 73 BULK-14155ab7
16444 Bulk Product 3938f871 Books $746.34 286 0.8 32 BULK-11d2f46f
16445 Bulk Product 4b91b42a Books $463.18 499 0.7 22 BULK-bad39b51
16446 Bulk Product 8adbb97f Home & Garden $256.59 159 2.8 57 BULK-b0460ae9
16447 Bulk Product 277f2cb5 Books $724.37 54 1.7 92 BULK-7bbd8e0e
16448 Bulk Product 5c668228 Sports & Outdoors $85.82 35 5.0 99 BULK-6d4a39e7
16449 Bulk Product f0bdc3bb Sports & Outdoors $107.79 430 4.7 99 BULK-ff005c78
16450 Bulk Product c752ed5e Books $264.14 306 1.4 34 BULK-e8eb3666
16451 Bulk Product c9f3843d Electronics $282.24 95 4.5 16 BULK-12a5e2e7
16452 Bulk Product c0a550b1 Toys & Games $327.61 183 1.5 7 BULK-ddfe1153
16453 Bulk Product 3b4efeec Books $548.36 334 1.2 32 BULK-6024db0a
16454 Bulk Product a9abbc02 Clothing $909.03 199 0.9 88 BULK-dd46498c
16455 Bulk Product 301e829c Electronics $733.53 392 4.3 0 BULK-d9b6f89c
16456 Bulk Product d910ddb6 Clothing $869.23 410 1.0 90 BULK-cc14eddc
16457 Bulk Product 908a6d66 Electronics $658.78 288 0.1 63 BULK-bef668ed
16458 Bulk Product cbf17082 Toys & Games $732.14 61 0.5 55 BULK-b47ee504
16459 Bulk Product f7613ed7 Books $612.45 286 2.6 30 BULK-42b3474d
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