Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

11 ms

Page Size

50

Current Page

135 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 135 Results Showing 6701 - 6750 of 24441

ID Name Category Price Stock Rating Reviews SKU
7260 Bulk Product 8885e7cf Home & Garden $241.17 444 1.7 53 BULK-227b21fd
7261 Bulk Product dfe5b5bd Home & Garden $604.43 95 4.6 18 BULK-fd815662
7262 Bulk Product d7338650 Sports & Outdoors $308.91 105 4.5 54 BULK-610b4aa2
7263 Bulk Product f2eeab26 Toys & Games $450.94 228 0.3 11 BULK-1ffa6bb3
7264 Bulk Product e81f4b62 Clothing $414.47 495 3.3 44 BULK-b25b0ea3
7265 Bulk Product c3c815dc Electronics $398.05 141 4.9 50 BULK-2e070b44
7266 Bulk Product 188eba67 Books $908.32 345 4.9 87 BULK-57db583d
7267 Bulk Product 2ab32cdd Electronics $182.45 196 2.7 98 BULK-2c4c9905
7268 Bulk Product 20c2fa4b Clothing $433.67 150 2.9 8 BULK-ade441eb
7269 Bulk Product 79e03f4c Sports & Outdoors $913.32 467 4.6 28 BULK-e7f41ee2
7270 Bulk Product 7d774b12 Books $251.75 155 3.0 66 BULK-02fd747c
7271 Bulk Product 0bd8062f Electronics $128.59 174 3.6 5 BULK-9c0ce913
7272 Bulk Product a7f6dabb Home & Garden $93.97 138 1.6 37 BULK-936bf951
7273 Bulk Product fb4309ce Electronics $468.09 366 4.4 6 BULK-ff7bc5e9
7274 Bulk Product 8a00af99 Books $710.55 190 1.0 17 BULK-21ae1d98
7275 Bulk Product e4d12d28 Books $115.12 401 3.1 98 BULK-c3c95e2c
7276 Bulk Product 8882ef7a Home & Garden $750.41 117 3.4 20 BULK-ddb2741d
7277 Bulk Product c377596f Sports & Outdoors $37.97 2 4.2 11 BULK-43cf1804
7278 Bulk Product 03adf9bc Clothing $739.43 200 4.1 29 BULK-f3005f4a
7279 Bulk Product 7e82a64e Electronics $699.65 74 4.2 56 BULK-c5642ae1
7280 Bulk Product e4b43ec2 Books $750.01 6 4.4 38 BULK-181edc3e
7281 Bulk Product 691e69b2 Sports & Outdoors $345.87 448 1.3 1 BULK-b587734c
7282 Bulk Product 743e7596 Toys & Games $541.72 78 4.9 73 BULK-2c07e386
7283 Bulk Product 43d109a6 Home & Garden $16.51 60 2.3 97 BULK-1164751c
7284 Bulk Product 0bdb9780 Electronics $147.17 32 3.0 30 BULK-d4058f38
7285 Bulk Product 2c7dd0cf Electronics $548.11 402 4.6 34 BULK-693257cb
7286 Bulk Product ae4a80a5 Clothing $891.98 417 0.5 50 BULK-b0b440a1
7287 Bulk Product 720faf0c Books $281.09 70 4.7 74 BULK-7e1a9045
7288 Bulk Product 69282b0a Toys & Games $160.51 331 0.8 55 BULK-b4cc235d
7289 Bulk Product 63e90773 Clothing $530.76 208 4.1 34 BULK-7006aef5
7290 Bulk Product db06fc40 Books $699.93 291 0.5 84 BULK-7a106289
7291 Bulk Product 39619199 Sports & Outdoors $223.23 104 3.1 75 BULK-cfde1c1c
7292 Bulk Product cddec67d Electronics $858.32 186 0.7 5 BULK-2cb53b7e
7293 Bulk Product dc9f3582 Electronics $374.94 458 1.2 33 BULK-5629b7af
7294 Bulk Product 57150b1e Toys & Games $206.46 190 4.3 25 BULK-9d6f526e
7295 Bulk Product cf34afab Home & Garden $326.85 268 2.7 75 BULK-11bedb41
7296 Bulk Product 2581ba70 Clothing $463.47 321 4.1 92 BULK-8591671d
7297 Bulk Product aaea1d16 Books $762.98 461 3.5 82 BULK-01d4f3e4
7298 Bulk Product da770956 Clothing $895.08 120 4.9 46 BULK-7ee34d03
7299 Bulk Product 9bdc6565 Books $696.71 147 4.5 58 BULK-a3827fb1
7300 Bulk Product cb160b7e Clothing $222.85 453 2.0 10 BULK-26fa522f
7301 Bulk Product 10f65b79 Home & Garden $971.25 41 3.6 45 BULK-964e1953
7302 Bulk Product 016ee2b4 Electronics $404.43 366 1.8 51 BULK-48724907
7303 Bulk Product 9d14007c Home & Garden $517.51 209 2.3 53 BULK-bf59ec7e
7304 Bulk Product 40d86876 Clothing $633.92 240 4.8 81 BULK-5cf6fbb1
7305 Bulk Product 8918e71b Electronics $102.79 80 4.3 30 BULK-200a09be
7306 Bulk Product c0faf08d Home & Garden $296.25 8 0.5 98 BULK-ce0de386
7307 Bulk Product 84870cc5 Home & Garden $497.08 212 4.1 75 BULK-4a4f9ba8
7308 Bulk Product 37f5d7d4 Home & Garden $807.67 428 0.2 85 BULK-249ab547
7309 Bulk Product f0929b4c Clothing $838.45 367 3.8 28 BULK-7efed8d1
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