Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

18 ms

Page Size

50

Current Page

272 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 272 Results Showing 13551 - 13600 of 24441

ID Name Category Price Stock Rating Reviews SKU
14110 Bulk Product 5f1225dd Sports & Outdoors $808.39 146 0.7 79 BULK-17cffc09
14111 Bulk Product 0ed92c0e Books $120.31 157 0.9 91 BULK-6afab2c9
14112 Bulk Product 40973f9e Books $646.68 14 0.3 18 BULK-b29a8b61
14113 Bulk Product 99e7fe53 Books $342.35 82 3.0 11 BULK-ba432b6b
14114 Bulk Product 5a5a9b2a Toys & Games $866.34 387 5.0 46 BULK-5ab844e0
14115 Bulk Product f2796138 Toys & Games $578.48 275 2.4 72 BULK-673ddd7a
14116 Bulk Product f57dc92d Sports & Outdoors $199.81 376 4.0 53 BULK-c5b01787
14117 Bulk Product ad4ea277 Clothing $159.70 104 3.1 92 BULK-6a3619ec
14118 Bulk Product 261e5f9e Books $140.77 150 3.5 46 BULK-6b2d26a9
14119 Bulk Product dc27b57d Toys & Games $435.66 273 4.7 70 BULK-b4891413
14120 Bulk Product 0bbeca3a Home & Garden $449.16 214 3.2 82 BULK-0c47e5f0
14121 Bulk Product 438d4d21 Sports & Outdoors $601.66 482 1.5 20 BULK-5a317851
14122 Bulk Product 0a58ea5c Electronics $511.71 223 1.1 74 BULK-e4c46a72
14123 Bulk Product 3ea9d58a Books $501.28 268 0.0 76 BULK-0aa46b76
14124 Bulk Product 5370a76e Home & Garden $667.95 437 0.1 7 BULK-15d0eeb6
14125 Bulk Product 397745ea Electronics $568.05 355 1.5 27 BULK-5300d8f1
14126 Bulk Product 4ad5009f Home & Garden $314.29 486 4.9 98 BULK-822c9b60
14127 Bulk Product 56c99ee6 Electronics $939.06 92 1.1 95 BULK-95bf4c43
14128 Bulk Product 88e6f0ac Electronics $675.03 397 1.8 97 BULK-45c34987
14129 Bulk Product 2a796312 Toys & Games $628.01 330 2.0 60 BULK-5d3491c6
14130 Bulk Product e727f747 Sports & Outdoors $396.03 204 2.4 38 BULK-05158424
14131 Bulk Product 1310b1f9 Home & Garden $288.76 485 4.6 57 BULK-93278b9c
14132 Bulk Product cb017003 Home & Garden $362.51 274 2.8 89 BULK-3dc66ad3
14133 Bulk Product b2ac8bdb Home & Garden $396.25 457 3.0 47 BULK-64905910
14134 Bulk Product e3b6fb1e Toys & Games $127.92 130 2.7 81 BULK-4f68b070
14135 Bulk Product 1ce76f2c Sports & Outdoors $316.19 250 2.4 96 BULK-bc0d6c38
14136 Bulk Product b391228f Clothing $564.60 178 3.6 3 BULK-a0a23c47
14137 Bulk Product aab856a0 Electronics $772.94 101 0.8 37 BULK-75b72c1b
14138 Bulk Product fc724f79 Books $885.63 278 0.7 39 BULK-438e6e84
14139 Bulk Product 68dd3cfd Electronics $63.59 295 1.2 56 BULK-fba5bcd9
14140 Bulk Product bf0de752 Toys & Games $918.22 152 3.0 10 BULK-1a7b9fe6
14141 Bulk Product b43cd666 Home & Garden $23.80 218 0.3 42 BULK-11c3ac7f
14142 Bulk Product ed4a2498 Clothing $54.79 437 4.2 70 BULK-026a8c2e
14143 Bulk Product 66704411 Books $331.62 133 5.0 60 BULK-82aadc2c
14144 Bulk Product 16c0a1e9 Books $764.00 357 4.6 13 BULK-d6aaf0cf
14145 Bulk Product e5d366d9 Toys & Games $514.92 235 1.4 87 BULK-22e59e68
14146 Bulk Product 3245a3f9 Electronics $232.15 163 2.2 95 BULK-24dca437
14147 Bulk Product 536b7732 Electronics $48.84 42 4.7 83 BULK-815f0f73
14148 Bulk Product 784828f2 Sports & Outdoors $850.54 54 4.1 88 BULK-2d15a5e0
14149 Bulk Product 0571e94a Electronics $487.49 147 2.3 78 BULK-b96bf239
14150 Bulk Product cb564b5d Toys & Games $336.36 336 3.4 27 BULK-6a39e9f9
14151 Bulk Product b2881e5f Books $381.01 372 4.0 17 BULK-cdabf268
14152 Bulk Product e5c218c1 Sports & Outdoors $758.74 89 4.7 66 BULK-740fef89
14153 Bulk Product d6bb659d Toys & Games $669.41 385 4.0 25 BULK-8cd318cd
14154 Bulk Product 56ca899e Electronics $720.23 320 1.2 56 BULK-e5cf57c1
14155 Bulk Product 9a555555 Home & Garden $266.28 499 4.5 71 BULK-ec21896b
14156 Bulk Product 3904954e Home & Garden $716.40 81 0.0 36 BULK-f0ddc143
14157 Bulk Product f9a64bc9 Clothing $378.28 239 0.7 43 BULK-9101b5c0
14158 Bulk Product 221cf566 Books $117.21 480 0.9 11 BULK-89021943
14159 Bulk Product b8852a87 Books $55.88 262 0.6 36 BULK-e8d9e037
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