Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

26 ms

Page Size

50

Current Page

286 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 286 Results Showing 14251 - 14300 of 24441

ID Name Category Price Stock Rating Reviews SKU
14810 Bulk Product db1da3b8 Books $973.64 18 3.1 7 BULK-33c70c8f
14811 Bulk Product ee39fc82 Home & Garden $784.94 465 1.1 92 BULK-6d1c1c20
14812 Bulk Product 51604b81 Clothing $881.54 345 2.4 13 BULK-581295ed
14813 Bulk Product f5933bf2 Home & Garden $53.80 170 4.0 52 BULK-b8210e68
14814 Bulk Product 4de17ed8 Toys & Games $769.12 36 1.1 87 BULK-b1d07aba
14815 Bulk Product 1b96f271 Electronics $409.69 94 3.4 9 BULK-f2976d34
14816 Bulk Product d423ef3d Home & Garden $974.64 196 4.1 72 BULK-593ff0a6
14817 Bulk Product f7f12f98 Toys & Games $743.79 168 2.1 87 BULK-7bd6fd88
14818 Bulk Product 3c81569c Books $292.46 122 3.8 87 BULK-3da459e8
14819 Bulk Product 6baea431 Books $662.38 282 2.9 15 BULK-48199a12
14820 Bulk Product e334e32a Toys & Games $259.02 326 0.1 37 BULK-dbc16e93
14821 Bulk Product 1458e0ac Toys & Games $19.15 216 4.8 33 BULK-03cd9d65
14822 Bulk Product f71d4914 Home & Garden $78.13 439 4.2 52 BULK-d2fdba32
14823 Bulk Product 0a22d601 Clothing $478.18 400 4.0 12 BULK-7fca3a0f
14824 Bulk Product 60b826dd Electronics $131.44 8 2.9 27 BULK-bad92359
14825 Bulk Product 8053eb3b Electronics $967.51 291 2.9 34 BULK-3fe62172
14826 Bulk Product bf7ad24a Clothing $920.55 14 1.8 56 BULK-e4d18d41
14827 Bulk Product a032a40c Electronics $375.65 191 3.2 48 BULK-bd8275d7
14828 Bulk Product 1cc5b139 Electronics $69.81 96 0.0 91 BULK-396ef9be
14829 Bulk Product 7d53ee16 Clothing $782.58 405 4.8 7 BULK-4a02c86d
14830 Bulk Product 9e80dc0f Home & Garden $928.01 46 2.3 50 BULK-b0aedab4
14831 Bulk Product 0afadf3d Electronics $355.33 391 4.0 40 BULK-a9bc3651
14832 Bulk Product 8bc3694f Toys & Games $788.63 198 1.9 61 BULK-5a182164
14833 Bulk Product 65f3465a Books $534.26 38 2.0 13 BULK-81add11e
14834 Bulk Product 90ae9649 Clothing $674.16 214 3.4 59 BULK-8da65df3
14835 Bulk Product 872b7d35 Toys & Games $459.14 174 0.3 41 BULK-79ffe440
14836 Bulk Product 21160560 Home & Garden $297.43 495 0.5 97 BULK-d0d347fb
14837 Bulk Product d088eba3 Books $212.17 298 4.6 43 BULK-b908cb20
14838 Bulk Product ca4ee707 Sports & Outdoors $1,006.89 306 0.6 22 BULK-18d67461
14839 Bulk Product bcf79299 Home & Garden $122.78 23 0.8 7 BULK-45526c14
14840 Bulk Product 9bce34dc Electronics $355.34 317 3.1 88 BULK-3d312ecc
14841 Bulk Product 378d79ae Sports & Outdoors $11.59 197 0.9 89 BULK-b55861e2
14842 Bulk Product d24905d5 Clothing $519.67 476 3.4 48 BULK-abdace48
14843 Bulk Product 03d18ac0 Books $19.38 126 0.5 26 BULK-2a8afbea
14844 Bulk Product 5f46789b Toys & Games $56.44 153 2.8 12 BULK-c0276142
14845 Bulk Product 033e170f Toys & Games $105.55 388 1.6 72 BULK-30c7ee01
14846 Bulk Product f5d62da0 Toys & Games $650.58 351 1.1 7 BULK-2ed45897
14847 Bulk Product 6dba402b Sports & Outdoors $853.31 332 0.2 79 BULK-9357972e
14848 Bulk Product 44ede181 Books $903.79 216 1.4 8 BULK-242e810a
14849 Bulk Product 4a2b072d Electronics $330.89 207 0.6 37 BULK-2504cbb6
14850 Bulk Product 50875952 Sports & Outdoors $741.64 51 0.7 12 BULK-0d6bb561
14851 Bulk Product 1b370ade Sports & Outdoors $570.59 316 3.2 45 BULK-f01785dc
14852 Bulk Product 9edf374c Books $314.64 277 1.7 72 BULK-8157ac65
14853 Bulk Product 2ab366bd Clothing $746.80 282 4.2 25 BULK-7866f5be
14854 Bulk Product 60f898f6 Home & Garden $970.47 261 1.1 54 BULK-100a4ce0
14855 Bulk Product 1ee6a5ad Home & Garden $821.53 59 1.4 64 BULK-4bde42c8
14856 Bulk Product 3ec79abb Toys & Games $794.93 246 5.0 78 BULK-aa9c2257
14857 Bulk Product 7af9ebdf Home & Garden $265.40 191 4.3 81 BULK-33ee70a6
14858 Bulk Product 996b2334 Books $532.61 335 4.9 79 BULK-9b421470
14859 Bulk Product 24c41142 Clothing $819.46 5 2.9 29 BULK-9d926f80
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