Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

17 ms

Page Size

50

Current Page

209 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 209 Results Showing 10401 - 10450 of 24441

ID Name Category Price Stock Rating Reviews SKU
10960 Bulk Product b87bba46 Electronics $523.39 498 1.7 44 BULK-c053a810
10961 Bulk Product ea4fb768 Electronics $178.00 437 3.4 80 BULK-865b0e6e
10962 Bulk Product 2cb28d02 Toys & Games $434.65 291 3.9 65 BULK-da224ff0
10963 Bulk Product 0067ee0b Home & Garden $181.91 161 2.4 48 BULK-c4c88348
10964 Bulk Product 3e747241 Toys & Games $702.30 427 3.4 21 BULK-ee6ca055
10965 Bulk Product 169d7c96 Sports & Outdoors $295.73 120 3.3 28 BULK-135ff2ae
10966 Bulk Product 8e828d3e Clothing $868.99 304 1.3 61 BULK-e1f53705
10967 Bulk Product 75e9156d Clothing $377.33 143 2.9 71 BULK-69bea66b
10968 Bulk Product 4208053b Home & Garden $124.90 320 4.1 46 BULK-52582fb3
10969 Bulk Product 45790b89 Sports & Outdoors $897.03 194 0.7 36 BULK-1daa61a5
10970 Bulk Product 26898b66 Electronics $775.00 85 2.9 87 BULK-47f06f77
10971 Bulk Product c3666a5e Home & Garden $813.75 55 0.1 67 BULK-4a4dc80b
10972 Bulk Product aea910ba Home & Garden $122.29 159 3.0 83 BULK-9da3e7e5
10973 Bulk Product 668451df Toys & Games $401.20 167 1.9 58 BULK-bf681679
10974 Bulk Product 3b69a947 Electronics $605.65 221 4.7 80 BULK-f2846ce8
10975 Bulk Product 2c67c2aa Clothing $555.75 443 2.3 28 BULK-bd6d3bc9
10976 Bulk Product 3c873361 Clothing $716.50 191 1.1 82 BULK-b426e74e
10977 Bulk Product 6b3aaa17 Clothing $752.10 144 0.4 36 BULK-6f509203
10978 Bulk Product 619a3306 Electronics $244.98 136 1.0 25 BULK-d5e47789
10979 Bulk Product b54df76a Clothing $894.30 245 3.8 99 BULK-4f60be9f
10980 Bulk Product b31a9ba4 Toys & Games $741.31 120 1.8 59 BULK-cc6b9f00
10981 Bulk Product 78121325 Electronics $161.50 389 2.1 24 BULK-f96d0c91
10982 Bulk Product e0dd6765 Home & Garden $351.05 138 1.3 71 BULK-8a9389a3
10983 Bulk Product 620b0ccd Books $516.47 447 2.1 21 BULK-6a961a64
10984 Bulk Product 394784a9 Clothing $737.79 403 4.6 95 BULK-1b8bd9b0
10985 Bulk Product e4f5d82f Home & Garden $445.61 243 2.6 26 BULK-817b200f
10986 Bulk Product 83adf26e Books $663.46 398 0.5 61 BULK-3ae7faca
10987 Bulk Product c697171c Sports & Outdoors $238.09 142 3.7 95 BULK-c6550f4f
10988 Bulk Product aa399102 Books $910.00 235 2.6 27 BULK-fdbcbad3
10989 Bulk Product 1953b2af Electronics $936.31 345 1.7 91 BULK-280237d9
10990 Bulk Product 9a04c933 Books $461.66 288 1.2 39 BULK-f2f908e2
10991 Bulk Product bdd447f3 Books $585.60 402 1.3 97 BULK-005f1825
10992 Bulk Product 253b2aa6 Home & Garden $670.65 428 3.3 5 BULK-91b1461b
10993 Bulk Product dacf73f0 Sports & Outdoors $465.21 294 3.4 3 BULK-e73d74e7
10994 Bulk Product 00980193 Sports & Outdoors $541.53 218 3.0 93 BULK-ba43623a
10995 Bulk Product 83c56f59 Home & Garden $224.10 92 4.5 7 BULK-a4ac8a9a
10996 Bulk Product 750bec5f Home & Garden $552.57 61 1.7 1 BULK-401faf54
10997 Bulk Product e4a0c5ee Clothing $304.95 274 3.7 92 BULK-9d804657
10998 Bulk Product 98b3bc3a Home & Garden $72.79 498 3.7 43 BULK-6661881c
10999 Bulk Product 2ffae035 Sports & Outdoors $737.45 96 1.3 64 BULK-f802d8d3
11000 Bulk Product ec011df1 Home & Garden $474.20 475 3.3 44 BULK-eeda1084
11001 Bulk Product ba34fff0 Home & Garden $351.94 428 4.8 72 BULK-9558bb2d
11002 Bulk Product c1997fa0 Toys & Games $178.51 195 5.0 76 BULK-ceb68bf7
11003 Bulk Product 8465c4a6 Home & Garden $237.20 211 4.5 42 BULK-9a24cd06
11004 Bulk Product 5ffb91f1 Clothing $529.11 455 4.1 19 BULK-e66b2bd5
11005 Bulk Product 1d19d410 Books $727.66 302 3.2 10 BULK-f3c7b92a
11006 Bulk Product 3d000dd0 Toys & Games $388.86 409 5.0 22 BULK-914d3358
11007 Bulk Product 8cbe84d9 Sports & Outdoors $145.65 230 1.5 4 BULK-65ff34e8
11008 Bulk Product 3d9cc6af Home & Garden $530.97 78 1.4 11 BULK-d4ede0aa
11009 Bulk Product 99c793ca Clothing $745.23 368 0.5 76 BULK-bf3e6a37
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