Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

10 ms

Page Size

50

Current Page

108 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 108 Results Showing 5351 - 5400 of 24441

ID Name Category Price Stock Rating Reviews SKU
5910 Bulk Product 2018add3 Toys & Games $773.60 131 3.9 99 BULK-c33b0f7e
5911 Bulk Product 1bc50eb5 Sports & Outdoors $676.75 147 0.1 22 BULK-10970833
5912 Bulk Product b01d3a96 Books $15.33 59 0.0 75 BULK-9ecfcc5d
5913 Bulk Product 2984bc91 Electronics $609.29 139 3.5 65 BULK-79b1c3b2
5914 Bulk Product 87ef0e49 Clothing $894.65 20 0.4 8 BULK-8c9f83c0
5915 Bulk Product dae9f0af Electronics $580.04 21 1.9 82 BULK-eb935de2
5916 Bulk Product 39cf951d Toys & Games $887.92 491 1.7 96 BULK-f6efbddc
5917 Bulk Product 338d2e52 Sports & Outdoors $204.84 231 3.7 14 BULK-d444d81d
5918 Bulk Product 99763a2c Toys & Games $796.00 12 4.5 2 BULK-62e4899d
5919 Bulk Product 477ff7eb Electronics $753.64 107 3.0 39 BULK-ec8b8a45
5920 Bulk Product 2103ecf3 Clothing $806.93 119 1.5 77 BULK-bddce69b
5921 Bulk Product df876d21 Electronics $539.77 202 2.3 28 BULK-d0d6258f
5922 Bulk Product 9e1d2f61 Toys & Games $821.35 474 4.4 20 BULK-9d3046db
5923 Bulk Product abd5f400 Sports & Outdoors $837.59 169 4.2 28 BULK-facdb622
5924 Bulk Product 6fe543c5 Toys & Games $734.31 487 2.0 5 BULK-01cc4d9e
5925 Bulk Product 176ab8fc Sports & Outdoors $180.61 94 0.4 13 BULK-713e2a2f
5926 Bulk Product 59063744 Toys & Games $579.76 415 0.3 11 BULK-5b9bc260
5927 Bulk Product 753b692f Clothing $933.79 393 4.7 86 BULK-dbd8cb95
5928 Bulk Product 6323628e Electronics $419.76 229 4.7 48 BULK-84ef1576
5929 Bulk Product 00881515 Toys & Games $757.33 162 2.8 82 BULK-09e815d8
5930 Bulk Product a8e0a06f Home & Garden $996.92 160 1.0 83 BULK-c02348ce
5931 Bulk Product ccd4fc6e Toys & Games $957.54 328 1.6 46 BULK-6f0f216a
5932 Bulk Product 40db2acb Clothing $113.01 97 0.9 80 BULK-010344cd
5933 Bulk Product fbbbc5b5 Books $407.44 417 4.1 97 BULK-3b65b29b
5934 Bulk Product 95db2ef3 Toys & Games $229.67 322 0.0 47 BULK-2c726b3a
5935 Bulk Product b3208811 Electronics $230.42 435 1.3 19 BULK-9a45f240
5936 Bulk Product f7c90f89 Clothing $753.43 235 4.3 78 BULK-014f2db1
5937 Bulk Product 40e4c5bd Clothing $356.79 279 4.8 4 BULK-1553ab5d
5938 Bulk Product f5e0855c Home & Garden $336.97 226 4.5 11 BULK-dc48177b
5939 Bulk Product beab5e03 Home & Garden $87.66 414 0.9 93 BULK-343e2e2a
5940 Bulk Product ccb1fd83 Electronics $862.84 107 1.6 62 BULK-e6a1b9a3
5941 Bulk Product bf2d1c8e Clothing $60.81 215 1.3 56 BULK-f6f80343
5942 Bulk Product 3b75fdbb Electronics $823.81 451 3.7 48 BULK-18ed0b25
5943 Bulk Product 9268babd Books $701.15 121 0.1 49 BULK-03929842
5944 Bulk Product 3125f069 Electronics $947.82 379 4.8 19 BULK-cd5c2fc3
5945 Bulk Product bf5609e3 Electronics $197.71 464 0.1 80 BULK-3858f882
5946 Bulk Product 522cdb3e Toys & Games $855.46 386 2.4 92 BULK-8498edea
5947 Bulk Product 8e9a454e Books $320.03 60 2.2 32 BULK-d298a126
5948 Bulk Product c0f3204c Electronics $46.92 284 3.3 74 BULK-2244195e
5949 Bulk Product bc68aa52 Sports & Outdoors $580.29 308 2.7 93 BULK-7d25adaf
5950 Bulk Product 2ef36b6c Home & Garden $130.84 349 0.0 98 BULK-56b06d9c
5951 Bulk Product bfc9fb3a Sports & Outdoors $858.15 171 2.7 67 BULK-80d06729
5952 Bulk Product 1061e781 Toys & Games $400.94 440 1.9 99 BULK-6124fb8a
5953 Bulk Product f7df3407 Electronics $672.66 116 3.6 26 BULK-f461536a
5954 Bulk Product 5e531e33 Clothing $437.91 201 2.6 67 BULK-02f44feb
5955 Bulk Product 75c54888 Home & Garden $349.82 433 1.9 28 BULK-bfbc7d4b
5956 Bulk Product 83f9c7c7 Electronics $202.06 346 4.4 38 BULK-c6bd87ef
5957 Bulk Product f384f08b Toys & Games $10.45 179 1.4 96 BULK-6d7b1488
5958 Bulk Product a62fa1d5 Home & Garden $259.16 287 3.7 8 BULK-8be7c893
5959 Bulk Product 9941f245 Toys & Games $47.56 65 3.3 27 BULK-75a0a7f1
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