Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

62 ms

Page Size

50

Current Page

95 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 95 Results Showing 4701 - 4750 of 24441

ID Name Category Price Stock Rating Reviews SKU
5260 Bulk Product 338641e7 Toys & Games $134.33 110 4.4 2 BULK-8bf82e7f
5261 Bulk Product 98a5c768 Clothing $745.00 208 3.2 75 BULK-876e42c5
5262 Bulk Product faf9e436 Books $923.70 348 1.5 31 BULK-4e2eb147
5263 Bulk Product 11f61d8b Books $317.60 124 2.7 28 BULK-2a13f645
5264 Bulk Product fa01f8f0 Clothing $499.07 122 0.0 77 BULK-bc1558e4
5265 Bulk Product 52c9c37b Electronics $152.14 113 3.7 58 BULK-32ca00b7
5266 Bulk Product f0bad023 Toys & Games $138.27 422 1.0 81 BULK-e15d95d8
5267 Bulk Product 05c9c995 Books $804.38 488 2.4 86 BULK-36346e23
5268 Bulk Product a11631e3 Clothing $440.14 137 1.4 22 BULK-76bd87bc
5269 Bulk Product 11d40a98 Clothing $566.10 488 1.3 32 BULK-9e8f216a
5270 Bulk Product f367ef39 Books $985.43 418 3.1 20 BULK-d68ef807
5271 Bulk Product a650c7ee Home & Garden $804.02 9 1.5 47 BULK-335c5703
5272 Bulk Product 643462c9 Home & Garden $533.50 267 1.2 36 BULK-47572d09
5273 Bulk Product de51d5c6 Home & Garden $131.60 399 0.8 10 BULK-5852fd8c
5274 Bulk Product df3d89d1 Clothing $237.25 430 1.8 42 BULK-03ad2938
5275 Bulk Product e43ffa6c Books $458.98 278 0.5 71 BULK-948b73a6
5276 Bulk Product e8cf7e8f Electronics $363.96 306 1.2 82 BULK-c424d79e
5277 Bulk Product 60c45913 Home & Garden $243.28 403 1.7 56 BULK-6094c101
5278 Bulk Product b9e758e5 Clothing $501.42 475 5.0 87 BULK-b6101639
5279 Bulk Product 492f94dc Electronics $783.12 455 0.2 5 BULK-56b11a39
5280 Bulk Product 0dd04970 Sports & Outdoors $41.04 229 4.5 58 BULK-55f53659
5281 Bulk Product 5298f0fd Books $932.54 487 4.6 3 BULK-8ae6925c
5282 Bulk Product 9ebe9c70 Electronics $434.05 447 0.6 24 BULK-46a608b9
5283 Bulk Product c6f1c2fd Home & Garden $878.10 386 1.7 71 BULK-017fb217
5284 Bulk Product 58a756c6 Electronics $304.27 205 0.1 21 BULK-f5ba95fb
5285 Bulk Product d00c1f64 Books $657.06 247 0.7 63 BULK-b0fe1550
5286 Bulk Product 52936672 Electronics $786.86 379 0.6 66 BULK-2ce23fff
5287 Bulk Product 19a6473e Books $645.34 165 2.9 90 BULK-1a584afa
5288 Bulk Product d5ccefb8 Clothing $272.85 395 4.4 6 BULK-4a04b633
5289 Bulk Product ba633a8e Books $430.32 433 3.0 22 BULK-4d044278
5290 Bulk Product 77cad251 Sports & Outdoors $466.48 250 0.9 40 BULK-9432b71e
5291 Bulk Product 1585a889 Electronics $879.70 178 1.1 82 BULK-97adb4e1
5292 Bulk Product edaab59f Home & Garden $118.85 327 0.4 61 BULK-aaddd641
5293 Bulk Product cca5dcab Sports & Outdoors $806.81 375 2.4 59 BULK-c4b3a29a
5294 Bulk Product 765027c2 Sports & Outdoors $139.80 81 2.9 51 BULK-26db3e52
5295 Bulk Product a8f789f8 Home & Garden $214.35 205 0.8 85 BULK-9f0773bf
5296 Bulk Product 14510bc4 Toys & Games $326.04 277 3.1 42 BULK-8d57ea58
5297 Bulk Product 1785ff7b Toys & Games $821.06 401 0.3 54 BULK-5987df2e
5298 Bulk Product db99ead4 Sports & Outdoors $729.64 56 1.7 12 BULK-3f543008
5299 Bulk Product 07a05b42 Books $107.67 356 3.4 65 BULK-887d1668
5300 Bulk Product a5cd7b25 Clothing $311.09 272 0.2 76 BULK-d50b1993
5301 Bulk Product 17dcf7a5 Home & Garden $879.44 165 4.1 31 BULK-0c2f7a46
5302 Bulk Product 586cb1dc Toys & Games $159.93 119 3.3 43 BULK-d425c110
5303 Bulk Product 6dad1e5b Clothing $811.61 119 3.1 38 BULK-b8b2058a
5304 Bulk Product 2aa951be Home & Garden $268.16 253 2.2 7 BULK-249778bc
5305 Bulk Product c5d6a93c Electronics $577.90 314 3.2 25 BULK-3c842529
5306 Bulk Product df455ecb Books $510.01 7 3.9 33 BULK-6949837a
5307 Bulk Product 19489e75 Toys & Games $402.52 210 4.5 3 BULK-28a40930
5308 Bulk Product afad4b3e Toys & Games $862.70 379 0.6 16 BULK-43adf1ef
5309 Bulk Product 15a6200e Electronics $328.08 351 0.5 73 BULK-904f9410
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