Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

34 ms

Page Size

50

Current Page

391 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 391 Results Showing 19501 - 19550 of 24441

ID Name Category Price Stock Rating Reviews SKU
20060 Bulk Product e045f640 Sports & Outdoors $532.38 407 2.5 71 BULK-23b65c5f
20061 Bulk Product 456e76f8 Home & Garden $93.32 297 3.6 1 BULK-5859a54b
20062 Bulk Product faa199ae Clothing $553.51 44 2.4 12 BULK-38e94265
20063 Bulk Product 1d1ac791 Home & Garden $257.46 259 1.3 32 BULK-f719e17f
20064 Bulk Product bbaa3df9 Home & Garden $815.12 186 0.9 51 BULK-49f19aaf
20065 Bulk Product b9a80743 Toys & Games $450.66 182 2.9 1 BULK-897362fd
20066 Bulk Product b0b17954 Electronics $616.24 420 2.2 55 BULK-68fa97ae
20067 Bulk Product 6fd5606d Electronics $538.95 213 3.4 93 BULK-59762528
20068 Bulk Product abea1d19 Sports & Outdoors $239.53 29 0.8 69 BULK-539234fd
20069 Bulk Product bf1b2f00 Books $603.26 165 3.2 28 BULK-b8d680b5
20070 Bulk Product 27e162d2 Electronics $717.17 261 1.9 45 BULK-5f421634
20071 Bulk Product ac33b4ae Home & Garden $147.76 251 1.5 94 BULK-e8d9046b
20072 Bulk Product f441a030 Clothing $226.40 59 4.4 50 BULK-a53ce563
20073 Bulk Product 36cc96cd Sports & Outdoors $697.43 158 0.5 92 BULK-1d198957
20074 Bulk Product 7e379d77 Toys & Games $125.90 386 0.7 44 BULK-7738d050
20075 Bulk Product cf8fe499 Clothing $80.91 120 0.2 56 BULK-40747199
20076 Bulk Product 1ba06daf Toys & Games $765.73 401 2.5 32 BULK-96ffa06b
20077 Bulk Product d712fb97 Toys & Games $637.46 291 1.3 39 BULK-796a0c48
20078 Bulk Product a8f9f904 Electronics $706.14 92 1.6 61 BULK-7a06667a
20079 Bulk Product b2f83a1b Home & Garden $900.09 308 4.0 13 BULK-6e603b50
20080 Bulk Product 5ab2e380 Clothing $991.55 495 1.4 95 BULK-3477f68e
20081 Bulk Product 03aa063e Books $209.58 489 0.3 59 BULK-3594c67b
20082 Bulk Product 06a591d7 Home & Garden $984.39 112 1.6 95 BULK-6b35fcce
20083 Bulk Product 82813f30 Books $482.17 19 1.9 77 BULK-0a97c018
20084 Bulk Product 5f89092b Clothing $650.33 190 1.7 82 BULK-3054f74a
20085 Bulk Product b2c1ffd3 Books $837.14 144 4.0 67 BULK-ce62c0d5
20086 Bulk Product e9f66897 Toys & Games $600.12 236 0.1 67 BULK-47c6a591
20087 Bulk Product 9b4a08c6 Electronics $274.11 131 0.7 66 BULK-6af234ad
20088 Bulk Product d0ff5ba6 Sports & Outdoors $780.36 237 1.5 71 BULK-09d0d05a
20089 Bulk Product bfab089a Clothing $796.33 62 0.8 7 BULK-e08144eb
20090 Bulk Product 3af14c6d Clothing $366.56 295 1.0 22 BULK-640c67e4
20091 Bulk Product 38268084 Books $741.71 245 2.4 33 BULK-5539ba7f
20092 Bulk Product 3e5f5281 Sports & Outdoors $460.07 73 4.1 54 BULK-547a5711
20093 Bulk Product 5120163c Electronics $838.17 48 0.3 93 BULK-d0b99a89
20094 Bulk Product 513d8f50 Sports & Outdoors $194.66 488 1.7 92 BULK-43ab30d0
20095 Bulk Product c265916a Toys & Games $34.29 242 2.6 76 BULK-8d26781d
20096 Bulk Product 562d0a42 Toys & Games $573.41 421 3.7 18 BULK-26210d83
20097 Bulk Product 9f7797b7 Clothing $535.70 274 0.6 13 BULK-c061b757
20098 Bulk Product 360cace9 Toys & Games $752.59 53 4.6 6 BULK-7dadecaa
20099 Bulk Product b13de8be Clothing $288.18 291 0.1 91 BULK-3e1a7db2
20100 Bulk Product ec2acd8e Sports & Outdoors $660.64 86 4.4 33 BULK-1961785e
20101 Bulk Product 67ccf610 Electronics $334.04 73 1.9 16 BULK-a058e594
20102 Bulk Product 06bd730d Home & Garden $647.46 353 2.7 52 BULK-6e4d92be
20103 Bulk Product 14761046 Home & Garden $299.16 245 3.4 23 BULK-7e72a21d
20104 Bulk Product 82a64aff Electronics $465.77 320 0.5 52 BULK-402cb6fc
20105 Bulk Product b5439670 Books $281.06 269 3.4 32 BULK-86ecbd15
20106 Bulk Product 7c9e1c55 Sports & Outdoors $328.44 210 5.0 42 BULK-908eb543
20107 Bulk Product 37ac7a0e Sports & Outdoors $508.21 35 3.7 70 BULK-82974856
20108 Bulk Product ab0c962a Electronics $181.58 461 1.9 67 BULK-7028e1d5
20109 Bulk Product 9bd6228d Books $784.12 286 3.9 10 BULK-b2457e31
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