Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

52 ms

Page Size

50

Current Page

326 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 326 Results Showing 16251 - 16300 of 24441

ID Name Category Price Stock Rating Reviews SKU
16810 Bulk Product fd4f387f Toys & Games $625.32 39 4.6 53 BULK-9eb14fa9
16811 Bulk Product 728daae9 Clothing $503.49 123 2.0 41 BULK-03ba53b2
16812 Bulk Product 0b34eaf2 Clothing $89.62 410 2.5 56 BULK-5d429cb8
16813 Bulk Product e85b8a82 Books $250.18 286 4.8 2 BULK-53edb427
16814 Bulk Product 51c83c7c Books $65.92 317 2.4 94 BULK-2ade4c2c
16815 Bulk Product 0fd18531 Home & Garden $187.68 165 1.5 36 BULK-368c81ae
16816 Bulk Product f587a606 Clothing $853.27 336 4.1 4 BULK-487c9106
16817 Bulk Product d6cc99b2 Clothing $822.42 206 4.1 8 BULK-f905a752
16818 Bulk Product 67c3c2d1 Sports & Outdoors $649.67 433 2.1 44 BULK-aa28a4d4
16819 Bulk Product 0acc1a51 Books $726.09 328 1.4 79 BULK-dd4546fb
16820 Bulk Product b6f17f8c Home & Garden $990.29 389 3.3 89 BULK-733bd4e5
16821 Bulk Product 13e989b0 Toys & Games $28.69 335 0.9 13 BULK-cc93c5f9
16822 Bulk Product f368cd9d Home & Garden $421.61 56 3.1 82 BULK-b4eecb61
16823 Bulk Product c139322e Electronics $22.99 488 4.1 37 BULK-d952d576
16824 Bulk Product a59c4806 Books $115.56 195 0.8 8 BULK-3e41d822
16825 Bulk Product 9a3a7394 Toys & Games $846.82 300 4.5 29 BULK-e465ed9a
16826 Bulk Product 8e98efb0 Electronics $988.42 106 1.1 83 BULK-ed7f7be2
16827 Bulk Product 7082b329 Home & Garden $198.70 193 0.7 73 BULK-ff8cccbd
16828 Bulk Product fdd3121d Sports & Outdoors $858.14 136 2.0 91 BULK-1e99cbad
16829 Bulk Product 94a7fb1d Sports & Outdoors $233.53 355 4.9 65 BULK-585e4fcc
16830 Bulk Product 7230562d Sports & Outdoors $407.16 205 3.4 47 BULK-13e54f7e
16831 Bulk Product e72b71cc Electronics $238.64 411 2.1 78 BULK-9fa35a75
16832 Bulk Product eecb7010 Electronics $669.91 292 1.6 13 BULK-0dac1125
16833 Bulk Product a3467cae Books $300.02 81 0.6 2 BULK-04089e62
16834 Bulk Product 771021b9 Clothing $272.52 50 2.5 54 BULK-1019fbb1
16835 Bulk Product 8fe413d4 Sports & Outdoors $622.29 473 3.1 17 BULK-3b9dcbbc
16836 Bulk Product ab75cf03 Sports & Outdoors $236.56 327 3.9 66 BULK-c5b6fa43
16837 Bulk Product be7c5ac4 Electronics $10.70 101 3.6 27 BULK-4f24a81d
16838 Bulk Product 8db09980 Electronics $531.47 328 3.5 33 BULK-7f3f3a35
16839 Bulk Product 662a9d22 Electronics $590.21 266 0.6 62 BULK-06180d51
16840 Bulk Product 87381405 Toys & Games $105.47 393 1.6 91 BULK-554c1099
16841 Bulk Product 209ca85f Electronics $465.73 396 0.4 46 BULK-de1570b5
16842 Bulk Product 8f599b01 Electronics $21.57 387 2.8 86 BULK-a53a7fd1
16843 Bulk Product 4c48de08 Sports & Outdoors $538.67 126 3.1 72 BULK-56d1a42c
16844 Bulk Product e6eefaa1 Sports & Outdoors $533.37 263 2.2 40 BULK-794a44f9
16845 Bulk Product 2d63137e Books $296.90 105 1.1 15 BULK-db07b905
16846 Bulk Product 1f6ec3ca Sports & Outdoors $798.93 306 0.5 47 BULK-a7c3b57c
16847 Bulk Product 8c5e8c27 Toys & Games $15.54 397 1.7 57 BULK-a2a949ef
16848 Bulk Product 058a308b Toys & Games $209.36 415 1.3 76 BULK-bd9d88b9
16849 Bulk Product 5b5e741d Clothing $486.29 295 2.8 33 BULK-519bf9f2
16850 Bulk Product 7b14b390 Electronics $200.52 235 4.3 13 BULK-70e8d18b
16851 Bulk Product 6bde2ac7 Clothing $428.79 8 2.9 81 BULK-6bdc7235
16852 Bulk Product f346d2b3 Clothing $549.35 163 0.3 76 BULK-60cf96a9
16853 Bulk Product 9505bd4e Sports & Outdoors $923.58 164 2.7 79 BULK-18381e4c
16854 Bulk Product 266efcdb Sports & Outdoors $960.67 270 1.7 26 BULK-aa04147d
16855 Bulk Product 5ffcede1 Clothing $202.37 271 4.3 64 BULK-5bbfa498
16856 Bulk Product 76d27037 Home & Garden $347.09 191 0.8 43 BULK-1bcc3a40
16857 Bulk Product ccf15242 Toys & Games $685.47 40 4.0 81 BULK-1ad7e150
16858 Bulk Product b97a4b17 Books $681.33 208 0.1 31 BULK-0f81c7a4
16859 Bulk Product 7fb1c2ba Toys & Games $981.80 56 4.3 0 BULK-08f52788
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