Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

23 ms

Page Size

50

Current Page

192 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 192 Results Showing 9551 - 9600 of 24441

ID Name Category Price Stock Rating Reviews SKU
10110 Bulk Product 60aa0dae Books $378.43 48 0.0 4 BULK-4ad8a371
10111 Bulk Product 7534a1ad Sports & Outdoors $271.06 332 3.2 46 BULK-96b96fb0
10112 Bulk Product f50a3959 Clothing $31.65 317 1.0 14 BULK-5e744d4b
10113 Bulk Product 10bbc7b7 Sports & Outdoors $292.45 486 0.3 46 BULK-3745d740
10114 Bulk Product 3a38e085 Home & Garden $375.39 57 4.3 60 BULK-cb4b60cb
10115 Bulk Product 9d0ebb3d Home & Garden $791.18 59 3.1 99 BULK-a6d0f311
10116 Bulk Product ddb89625 Books $451.06 147 2.2 0 BULK-6a90e602
10117 Bulk Product baa734aa Books $117.35 259 1.1 85 BULK-0bd21f45
10118 Bulk Product defd7055 Toys & Games $342.73 318 3.5 3 BULK-798f59c7
10119 Bulk Product dd8dfa29 Electronics $184.79 200 0.8 24 BULK-a0433e38
10120 Bulk Product d8116b3c Books $644.12 281 1.9 43 BULK-9d841db7
10121 Bulk Product 9b19828c Books $868.86 321 3.6 20 BULK-0c08b70b
10122 Bulk Product ded0ce67 Toys & Games $174.63 485 0.2 47 BULK-fac21050
10123 Bulk Product 2aec0cd5 Books $761.73 111 0.5 53 BULK-4d9bc6df
10124 Bulk Product 4fd7484e Home & Garden $792.37 446 4.9 22 BULK-0b041bce
10125 Bulk Product 8dff8bd6 Toys & Games $218.37 8 3.2 71 BULK-284a7272
10126 Bulk Product 723831ff Toys & Games $600.18 474 4.6 38 BULK-9760d359
10127 Bulk Product faf4cb2b Clothing $175.64 303 3.0 90 BULK-128a64a1
10128 Bulk Product 6536d09e Electronics $377.63 264 2.0 26 BULK-17c69f76
10129 Bulk Product bf8a1967 Electronics $21.47 330 2.7 20 BULK-6d3183a0
10130 Bulk Product 83490c1e Books $98.71 382 3.9 82 BULK-ec9fc29d
10131 Bulk Product 8fb2b5af Electronics $731.17 129 4.5 26 BULK-f0fd3e7a
10132 Bulk Product ffa051d5 Sports & Outdoors $469.26 265 4.6 66 BULK-8d1c1551
10133 Bulk Product 64f52ed5 Electronics $562.79 134 1.1 56 BULK-5389916b
10134 Bulk Product 791ab2ae Electronics $596.51 318 0.8 99 BULK-1118c109
10135 Bulk Product 0f472b7a Books $540.32 136 4.3 16 BULK-ca63cfc8
10136 Bulk Product f1ca0325 Home & Garden $845.06 58 3.8 33 BULK-c50a9d67
10137 Bulk Product bef9fae4 Sports & Outdoors $166.15 336 2.7 69 BULK-2963e67b
10138 Bulk Product e49db765 Clothing $687.73 236 2.2 95 BULK-58ec3f50
10139 Bulk Product 458470d8 Clothing $246.40 455 1.1 55 BULK-11baa4bc
10140 Bulk Product 34d721c1 Home & Garden $962.74 333 0.1 33 BULK-dae7e5a3
10141 Bulk Product f7001365 Books $454.15 155 1.6 40 BULK-6b768fdf
10142 Bulk Product be103cf2 Books $461.26 276 3.0 73 BULK-7e1ea0ed
10143 Bulk Product 8aae9762 Electronics $293.01 11 1.9 85 BULK-8b21465d
10144 Bulk Product 0d9f38b9 Home & Garden $423.45 491 3.9 38 BULK-3a126cbf
10145 Bulk Product eaaac38b Home & Garden $792.53 452 4.1 8 BULK-dff2b8a0
10146 Bulk Product 8fe19c38 Home & Garden $664.44 133 3.4 37 BULK-9805def5
10147 Bulk Product 25675931 Clothing $443.37 194 0.1 17 BULK-f9b5c6a9
10148 Bulk Product cef5be6c Home & Garden $964.35 57 2.0 70 BULK-27f233af
10149 Bulk Product 0cea6bf0 Home & Garden $65.84 177 2.7 78 BULK-b388cd05
10150 Bulk Product f3d4db2c Electronics $577.90 272 3.0 48 BULK-e74ae48d
10151 Bulk Product c02dee9c Sports & Outdoors $366.40 245 0.4 12 BULK-5ff85502
10152 Bulk Product a9cff78b Home & Garden $426.16 104 3.7 32 BULK-28edf340
10153 Bulk Product a26e183c Electronics $534.37 482 1.8 94 BULK-f82ee0a3
10154 Bulk Product c7d6413b Home & Garden $264.03 351 4.9 29 BULK-28de3e9c
10155 Bulk Product 0e3d8e80 Toys & Games $519.66 93 1.7 31 BULK-295f65a5
10156 Bulk Product edd4e3c8 Books $896.22 221 4.5 60 BULK-eda8e8ce
10157 Bulk Product e1200a28 Clothing $495.59 413 3.9 3 BULK-7992b581
10158 Bulk Product 1ee8d1c5 Toys & Games $572.58 385 2.6 49 BULK-4b582d8a
10159 Bulk Product fd523235 Clothing $417.60 277 0.1 32 BULK-d3f36f2d
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