Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

19 ms

Page Size

50

Current Page

269 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 269 Results Showing 13401 - 13450 of 24441

ID Name Category Price Stock Rating Reviews SKU
13960 Bulk Product 49f79281 Toys & Games $319.97 240 2.7 67 BULK-cf8bbed2
13961 Bulk Product bfc40e32 Books $750.52 305 2.2 96 BULK-86dd97ae
13962 Bulk Product 14c3a865 Clothing $702.18 29 0.5 60 BULK-541d1fa6
13963 Bulk Product c7dbdffa Clothing $992.92 145 0.4 45 BULK-17ec61f8
13964 Bulk Product 66f41ebe Toys & Games $544.57 327 3.8 36 BULK-165461c4
13965 Bulk Product 7c367246 Books $167.09 390 1.1 15 BULK-16f6a00f
13966 Bulk Product 300e02c4 Clothing $196.27 375 4.1 14 BULK-83789b9a
13967 Bulk Product 14b96e39 Sports & Outdoors $819.18 479 1.4 84 BULK-34ada9f7
13968 Bulk Product 29d3e573 Electronics $811.22 177 2.4 81 BULK-40e3d46e
13969 Bulk Product 10503173 Toys & Games $66.86 292 4.9 88 BULK-f4cf86b7
13970 Bulk Product 20a79110 Sports & Outdoors $1,001.25 268 4.5 12 BULK-0d52e937
13971 Bulk Product b997e3b5 Electronics $556.04 17 2.7 90 BULK-229c6e00
13972 Bulk Product 7611dac2 Clothing $734.26 414 2.9 89 BULK-5f3f49b7
13973 Bulk Product 7cd58fdb Books $965.86 167 0.0 19 BULK-d047be13
13974 Bulk Product 396a29e8 Clothing $333.90 190 0.9 26 BULK-39b8b895
13975 Bulk Product cac7ebc7 Electronics $1,000.64 197 2.4 44 BULK-a787f273
13976 Bulk Product b60be248 Clothing $265.40 374 4.7 42 BULK-68c1ef10
13977 Bulk Product 60c285b8 Clothing $576.31 231 0.4 22 BULK-a8d3fd41
13978 Bulk Product 94612dc4 Toys & Games $813.15 57 4.8 5 BULK-3f4195a0
13979 Bulk Product ecff376f Clothing $481.07 117 1.9 97 BULK-d6dad3b3
13980 Bulk Product f1cbb1ab Home & Garden $750.72 84 0.8 38 BULK-f292471d
13981 Bulk Product 4a68c3df Electronics $622.57 221 0.6 71 BULK-4ee1415d
13982 Bulk Product 62809ceb Electronics $728.90 318 5.0 52 BULK-e48f425d
13983 Bulk Product afdba7b1 Clothing $546.88 172 1.3 46 BULK-b4435a43
13984 Bulk Product 5d9eb3ce Home & Garden $219.82 185 1.7 35 BULK-bd57cbc5
13985 Bulk Product b99c904a Clothing $123.88 218 0.5 68 BULK-976debcb
13986 Bulk Product f9159494 Toys & Games $360.32 60 0.7 41 BULK-490b6761
13987 Bulk Product 9af57427 Electronics $893.72 373 2.9 83 BULK-ac5f9a3f
13988 Bulk Product 6bf9f954 Toys & Games $548.98 254 1.4 93 BULK-ff51205e
13989 Bulk Product e955e69f Home & Garden $516.49 433 3.9 91 BULK-724e1ebc
13990 Bulk Product 039aa82f Home & Garden $923.14 380 1.9 34 BULK-62b52410
13991 Bulk Product 4779cf93 Sports & Outdoors $789.98 35 4.0 2 BULK-1a4818a7
13992 Bulk Product ab14eba4 Toys & Games $160.97 313 0.3 75 BULK-9ed29635
13993 Bulk Product 87758823 Home & Garden $843.07 103 3.8 74 BULK-8d0c8503
13994 Bulk Product 86ce161f Sports & Outdoors $403.08 65 2.0 59 BULK-605cdf95
13995 Bulk Product 81528506 Electronics $171.39 200 2.4 55 BULK-2947f204
13996 Bulk Product 47f5b14a Books $90.83 266 2.7 3 BULK-8bf66052
13997 Bulk Product 91302a8d Home & Garden $433.78 147 4.2 29 BULK-9fdb874e
13998 Bulk Product ace17c91 Home & Garden $683.36 366 2.7 5 BULK-55c0eaa5
13999 Bulk Product ae3d4be9 Clothing $521.47 4 4.6 5 BULK-9d3abc8e
14000 Bulk Product 4bd55dc3 Home & Garden $437.98 98 3.0 63 BULK-46ee42ab
14001 Bulk Product 2ac8644e Toys & Games $810.79 340 3.0 33 BULK-28635b5b
14002 Bulk Product ca61e9d8 Books $115.83 156 1.3 11 BULK-1360136b
14003 Bulk Product 3a045b13 Home & Garden $467.13 22 4.8 23 BULK-fa9cdf1e
14004 Bulk Product 5cd9ec55 Clothing $465.10 78 2.3 11 BULK-26f37e17
14005 Bulk Product bb082710 Electronics $771.76 396 2.6 41 BULK-6cd60cf3
14006 Bulk Product bd4816f2 Sports & Outdoors $392.46 61 4.1 22 BULK-07a172ea
14007 Bulk Product 00e0469d Toys & Games $883.55 382 2.3 44 BULK-2b7ecd25
14008 Bulk Product ccc4c307 Clothing $17.69 342 3.2 12 BULK-dc8ba29b
14009 Bulk Product c43e4138 Toys & Games $869.64 64 0.5 94 BULK-ab50a8f8
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