Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

33 ms

Page Size

50

Current Page

177 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 177 Results Showing 8801 - 8850 of 24441

ID Name Category Price Stock Rating Reviews SKU
9360 Bulk Product cbf6842a Home & Garden $124.07 427 2.4 76 BULK-7d37106e
9361 Bulk Product b8147028 Toys & Games $86.24 437 4.8 14 BULK-2790574e
9362 Bulk Product 5c21e382 Electronics $593.49 294 0.7 25 BULK-5d480850
9363 Bulk Product 3b861bab Toys & Games $412.61 154 3.1 24 BULK-152c9b4c
9364 Bulk Product 3c45eaf2 Books $995.81 411 4.4 33 BULK-c710241f
9365 Bulk Product 2731fc80 Home & Garden $88.79 357 3.5 72 BULK-43458cc2
9366 Bulk Product 94e798b0 Books $746.66 418 2.3 36 BULK-530d9279
9367 Bulk Product 6bf8531a Clothing $812.59 157 0.4 85 BULK-22d450f3
9368 Bulk Product 39f99ed6 Books $525.97 376 1.2 80 BULK-2ceda8ed
9369 Bulk Product c0c13c56 Toys & Games $231.17 259 3.1 12 BULK-95239a65
9370 Bulk Product df03c724 Books $837.21 476 4.6 63 BULK-ae1d75b9
9371 Bulk Product 99cd362e Electronics $582.32 441 3.5 79 BULK-c1b9f308
9372 Bulk Product ab29b0ff Home & Garden $137.24 108 0.1 54 BULK-0cf49399
9373 Bulk Product e8ddc266 Home & Garden $174.13 78 4.2 24 BULK-0bac9935
9374 Bulk Product 7edd32e6 Electronics $763.69 101 1.8 77 BULK-0aeabe05
9375 Bulk Product 50bc47aa Clothing $764.68 194 1.4 51 BULK-cd62dedf
9376 Bulk Product b7d960d7 Electronics $501.30 203 3.8 64 BULK-ab91d02c
9377 Bulk Product c495e79c Sports & Outdoors $885.38 184 1.9 1 BULK-eaca65a4
9378 Bulk Product 9f2b9e05 Sports & Outdoors $266.11 494 1.6 6 BULK-f5a9e631
9379 Bulk Product a4222913 Home & Garden $928.92 281 3.7 78 BULK-f1ef7806
9380 Bulk Product 5e7a3ee2 Electronics $800.59 467 1.9 25 BULK-750b5178
9381 Bulk Product a0aedb5c Home & Garden $262.80 109 0.6 97 BULK-2daf471a
9382 Bulk Product 2f61e37c Electronics $434.87 154 1.8 16 BULK-0155e69d
9383 Bulk Product f5c85899 Electronics $45.34 24 1.4 34 BULK-ac242653
9384 Bulk Product 55a232da Sports & Outdoors $263.65 212 2.7 56 BULK-308f6ff5
9385 Bulk Product d8726f41 Books $166.90 366 1.1 90 BULK-3cd30c14
9386 Bulk Product 5f76fe42 Clothing $450.63 132 0.4 15 BULK-918dd969
9387 Bulk Product 0f09eb0e Books $480.83 471 1.7 66 BULK-625e3763
9388 Bulk Product fb2841c2 Electronics $428.76 130 3.2 71 BULK-8a001ecc
9389 Bulk Product 8e7d8950 Books $592.82 201 2.8 14 BULK-a19034eb
9390 Bulk Product 1ba18695 Clothing $422.42 115 2.1 97 BULK-1a42af09
9391 Bulk Product 3146f98b Sports & Outdoors $266.52 17 1.6 94 BULK-5c17cc5d
9392 Bulk Product 3800c748 Books $214.96 415 0.9 31 BULK-b6b27797
9393 Bulk Product ae79f8f1 Toys & Games $732.66 53 2.1 94 BULK-65cb1a7e
9394 Bulk Product 387c02cc Toys & Games $189.43 94 1.2 61 BULK-898cb932
9395 Bulk Product a71b9037 Electronics $34.43 30 4.6 41 BULK-4aea7c33
9396 Bulk Product baf5a3a0 Books $503.66 339 2.5 2 BULK-1e05266a
9397 Bulk Product 1b519566 Sports & Outdoors $202.32 207 0.9 56 BULK-48d23efe
9398 Bulk Product ae639d5c Sports & Outdoors $36.06 69 4.7 67 BULK-b528bb14
9399 Bulk Product 2fe6f736 Toys & Games $698.10 79 1.8 91 BULK-1ed06f83
9400 Bulk Product f106b66c Home & Garden $664.06 247 1.5 73 BULK-0edf250c
9401 Bulk Product 3f1b9eeb Home & Garden $629.12 18 2.0 68 BULK-3407bba3
9402 Bulk Product cb32ca1e Home & Garden $562.14 393 1.1 47 BULK-092c191b
9403 Bulk Product fd1d01f7 Books $413.63 422 0.1 61 BULK-5b460caa
9404 Bulk Product 7fa1709c Toys & Games $681.20 112 3.4 10 BULK-b2594d96
9405 Bulk Product 4b61c3d7 Sports & Outdoors $580.39 201 0.6 97 BULK-fdeff10e
9406 Bulk Product a8b76d7f Clothing $777.41 413 3.1 45 BULK-026bee18
9407 Bulk Product ef6c85de Books $792.00 434 1.9 30 BULK-223573e3
9408 Bulk Product 16a46e59 Toys & Games $408.76 449 2.1 0 BULK-0315bff6
9409 Bulk Product f86f980d Clothing $653.85 85 3.6 97 BULK-3a5d8892
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