Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

27 ms

Page Size

50

Current Page

349 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 349 Results Showing 17401 - 17450 of 24441

ID Name Category Price Stock Rating Reviews SKU
17960 Bulk Product 1944520f Home & Garden $250.01 273 2.0 23 BULK-1ade370c
17961 Bulk Product 71bcff83 Electronics $604.92 258 4.8 60 BULK-2cf9321c
17962 Bulk Product 17b16267 Home & Garden $817.88 334 4.8 40 BULK-4edb3390
17963 Bulk Product 89741a78 Electronics $974.21 57 0.4 65 BULK-99576326
17964 Bulk Product 3e66f776 Books $505.34 209 2.2 27 BULK-57007bcc
17965 Bulk Product 2c9e36b2 Toys & Games $120.72 144 0.2 45 BULK-e0e4ed93
17966 Bulk Product 4317e5f8 Clothing $876.17 149 0.4 54 BULK-394ba0e6
17967 Bulk Product 958dbdba Books $813.47 146 1.4 51 BULK-242cf1ac
17968 Bulk Product d92d4c00 Books $322.56 213 2.3 13 BULK-bff26a0a
17969 Bulk Product 7a79638c Toys & Games $429.94 17 2.9 31 BULK-263af380
17970 Bulk Product 33c7071e Electronics $118.54 405 4.2 29 BULK-20ef9f9c
17971 Bulk Product 8879762a Electronics $306.38 420 0.6 48 BULK-f38e7c39
17972 Bulk Product 0a55efc1 Sports & Outdoors $743.88 131 4.5 98 BULK-a2c37338
17973 Bulk Product cd9205ac Toys & Games $509.61 164 4.3 0 BULK-233c8a40
17974 Bulk Product fa4aa882 Sports & Outdoors $63.67 121 0.7 4 BULK-e83bee65
17975 Bulk Product 8f07ee93 Books $305.19 59 2.8 16 BULK-0a5d7fcd
17976 Bulk Product 0a73b46a Toys & Games $90.99 467 0.4 28 BULK-d4e12edb
17977 Bulk Product fe7de73f Clothing $858.05 301 0.0 63 BULK-bee9c870
17978 Bulk Product aa2379a3 Sports & Outdoors $290.99 257 1.5 30 BULK-79fa4858
17979 Bulk Product 2369e855 Electronics $736.16 321 0.5 46 BULK-9f7d902f
17980 Bulk Product db57de0f Sports & Outdoors $738.06 128 0.6 45 BULK-fa698a3e
17981 Bulk Product 29456f1a Sports & Outdoors $258.25 367 4.7 53 BULK-ee330586
17982 Bulk Product 0f2df911 Clothing $179.94 151 3.9 95 BULK-a93436d6
17983 Bulk Product f5dea86d Books $740.43 373 0.5 28 BULK-3d703ce7
17984 Bulk Product 8c2ca2ab Sports & Outdoors $595.05 45 2.9 89 BULK-ef9aeb48
17985 Bulk Product 19c4b80a Clothing $327.51 11 3.7 60 BULK-624032ea
17986 Bulk Product 14d5aa40 Sports & Outdoors $947.39 424 1.5 5 BULK-4d963074
17987 Bulk Product 4b2426c6 Toys & Games $28.93 227 1.7 93 BULK-e346f84d
17988 Bulk Product e8b898f7 Toys & Games $866.11 496 2.8 34 BULK-823bf286
17989 Bulk Product 73c92928 Books $1,000.00 442 1.5 76 BULK-7f342684
17990 Bulk Product 33febebf Home & Garden $896.11 80 4.1 24 BULK-7a67eab2
17991 Bulk Product 82fc995d Clothing $539.14 136 5.0 1 BULK-8cca5cae
17992 Bulk Product c4dbcb1e Books $885.22 289 2.7 78 BULK-70dd6e5d
17993 Bulk Product 10323ca0 Sports & Outdoors $888.43 155 4.8 37 BULK-c17f2a5b
17994 Bulk Product c2a6d540 Toys & Games $266.49 378 3.5 55 BULK-9ff40a88
17995 Bulk Product 9ebb9b65 Clothing $299.52 245 0.3 83 BULK-6f8a749b
17996 Bulk Product a0e16d3b Clothing $170.52 300 2.8 90 BULK-070622f7
17997 Bulk Product 4c3d9154 Clothing $732.38 218 1.7 12 BULK-413d413a
17998 Bulk Product fab096ad Toys & Games $990.65 298 4.4 71 BULK-14f5e29b
17999 Bulk Product 95e775c7 Electronics $871.52 33 0.8 0 BULK-55e1348c
18000 Bulk Product 65761bfa Sports & Outdoors $42.22 123 2.8 93 BULK-b7718a70
18001 Bulk Product 21c3d252 Home & Garden $620.03 59 4.4 82 BULK-2b389167
18002 Bulk Product 96ea2c91 Toys & Games $597.82 234 0.5 53 BULK-86c758c0
18003 Bulk Product f64bf5ef Home & Garden $117.98 281 2.6 88 BULK-8b1448d2
18004 Bulk Product 03cfaa32 Clothing $478.66 392 2.6 33 BULK-f276c880
18005 Bulk Product 2298bbec Books $91.44 50 3.3 57 BULK-f5a5eb0b
18006 Bulk Product 96e23041 Books $531.87 321 2.4 90 BULK-51e30570
18007 Bulk Product c5d5d13f Electronics $196.07 254 2.6 91 BULK-a420f313
18008 Bulk Product 38a93820 Books $293.47 183 4.3 78 BULK-070773e3
18009 Bulk Product 4b5d1863 Books $994.09 100 3.9 80 BULK-958a8ec2
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