Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

34 ms

Page Size

50

Current Page

207 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 207 Results Showing 10301 - 10350 of 24441

ID Name Category Price Stock Rating Reviews SKU
10860 Bulk Product 65993236 Home & Garden $577.68 76 0.7 50 BULK-5c251abe
10861 Bulk Product c966849d Books $835.22 116 4.5 36 BULK-ff65bb11
10862 Bulk Product a04e29f5 Books $151.42 430 2.8 53 BULK-8cc141d2
10863 Bulk Product eb680c8b Electronics $700.34 196 3.6 31 BULK-656081ef
10864 Bulk Product dd8dbd0b Books $50.40 97 3.3 29 BULK-34ca2c8e
10865 Bulk Product 60563cfc Clothing $559.08 276 4.2 3 BULK-383e5823
10866 Bulk Product b066bb2c Books $249.96 138 4.9 70 BULK-d1cf4891
10867 Bulk Product d81fbad7 Books $787.70 240 1.7 84 BULK-407f3d34
10868 Bulk Product aa168e82 Clothing $885.04 324 3.4 5 BULK-a3d18296
10869 Bulk Product 4dc38997 Toys & Games $51.17 218 1.4 53 BULK-f739a3a4
10870 Bulk Product 4539ad0c Clothing $109.24 396 4.4 10 BULK-e6a80e2d
10871 Bulk Product 518c03e3 Electronics $671.77 89 4.1 55 BULK-88af57f7
10872 Bulk Product b72985c7 Electronics $405.32 155 4.7 71 BULK-85e544fb
10873 Bulk Product 04cfe8a0 Clothing $19.56 104 0.9 15 BULK-9540f363
10874 Bulk Product fa2c3902 Books $633.24 264 4.4 75 BULK-8bd7526d
10875 Bulk Product 92030288 Clothing $784.54 464 2.4 72 BULK-8ff055e1
10876 Bulk Product ba61691f Clothing $42.83 334 3.4 63 BULK-1e7356ad
10877 Bulk Product 86cbb55e Home & Garden $151.53 375 3.0 50 BULK-bee9953f
10878 Bulk Product b207294d Home & Garden $899.16 266 2.3 96 BULK-046bbf6f
10879 Bulk Product be8bc27d Toys & Games $219.96 246 4.2 67 BULK-304a53c6
10880 Bulk Product 0d26f7b4 Electronics $737.39 65 4.3 21 BULK-ab4d5814
10881 Bulk Product e4f7ec79 Electronics $622.10 65 2.6 96 BULK-fb0a17bd
10882 Bulk Product 61028479 Sports & Outdoors $90.67 336 0.2 76 BULK-64eb3a12
10883 Bulk Product df0b73ba Electronics $152.36 413 0.5 59 BULK-0bc6a7fb
10884 Bulk Product a48bdd05 Books $161.72 427 4.9 54 BULK-de3c6ba0
10885 Bulk Product 166182c5 Toys & Games $280.55 97 1.7 1 BULK-7bef77d9
10886 Bulk Product f5154d69 Electronics $169.83 454 2.1 47 BULK-1200d122
10887 Bulk Product 4b242dbe Electronics $316.81 401 1.3 86 BULK-2c2ba42e
10888 Bulk Product 77be996e Books $26.36 173 4.8 3 BULK-45c8acd0
10889 Bulk Product a7184c4a Home & Garden $256.83 48 2.3 18 BULK-f10a7c24
10890 Bulk Product 2137d4de Toys & Games $975.55 196 0.2 28 BULK-5f099cd2
10891 Bulk Product 049f2f13 Books $705.42 422 3.7 16 BULK-417becce
10892 Bulk Product e4700946 Books $982.05 193 4.2 95 BULK-ab877b91
10893 Bulk Product 24701881 Home & Garden $490.41 351 0.1 92 BULK-c9a7bbbd
10894 Bulk Product 13d427e7 Sports & Outdoors $910.97 235 2.1 58 BULK-c88b3152
10895 Bulk Product a7a8c268 Books $475.21 439 4.6 81 BULK-6f44a104
10896 Bulk Product f8f563b9 Sports & Outdoors $674.23 372 3.7 78 BULK-af5274e1
10897 Bulk Product 0a731b68 Electronics $523.74 97 4.8 18 BULK-933bd54f
10898 Bulk Product 512c65bb Clothing $831.85 154 2.9 91 BULK-157bc089
10899 Bulk Product a1396564 Toys & Games $366.46 393 2.3 26 BULK-4ead721f
10900 Bulk Product f7ecc6fa Toys & Games $716.50 363 2.8 64 BULK-fb394e11
10901 Bulk Product 9723cc55 Sports & Outdoors $307.64 52 4.0 31 BULK-392d353d
10902 Bulk Product c3ecdbc2 Home & Garden $408.94 486 4.3 14 BULK-0a105060
10903 Bulk Product c56e71b1 Toys & Games $106.00 379 1.4 36 BULK-fdf207f7
10904 Bulk Product 71f9af9e Home & Garden $889.52 10 4.8 57 BULK-348dbeb3
10905 Bulk Product d830a33e Books $439.69 375 2.7 14 BULK-460fce11
10906 Bulk Product 6b4d0be1 Clothing $176.42 23 2.7 13 BULK-924a4995
10907 Bulk Product b5ced554 Home & Garden $369.48 214 1.6 17 BULK-2ac66ac1
10908 Bulk Product a42f70de Electronics $340.17 483 0.7 74 BULK-e57d3adb
10909 Bulk Product f51d6468 Home & Garden $297.11 385 1.7 64 BULK-dd4fc0db
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