Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

66 ms

Page Size

50

Current Page

268 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 268 Results Showing 13351 - 13400 of 24441

ID Name Category Price Stock Rating Reviews SKU
13910 Bulk Product 37a9ec5d Electronics $754.02 51 3.7 79 BULK-29dfdfea
13911 Bulk Product ca752b6f Toys & Games $865.72 150 0.7 10 BULK-d97666b2
13912 Bulk Product 41f00043 Books $527.73 137 0.9 39 BULK-6dbc7c00
13913 Bulk Product 6ba65c18 Home & Garden $654.47 335 4.6 33 BULK-bee4c0d6
13914 Bulk Product 83512e6f Books $650.21 39 0.2 29 BULK-a4e6acec
13915 Bulk Product d5e19c79 Clothing $299.15 213 4.6 69 BULK-c78c6e6f
13916 Bulk Product 804974d8 Electronics $743.83 148 4.1 76 BULK-9b9996a4
13917 Bulk Product 770f9473 Sports & Outdoors $875.94 282 3.1 8 BULK-d1e5ce2e
13918 Bulk Product ea040e48 Sports & Outdoors $953.99 351 1.5 90 BULK-2e84565d
13919 Bulk Product d6f612f0 Home & Garden $511.46 210 3.2 32 BULK-21ab9a84
13920 Bulk Product fde396f2 Toys & Games $344.38 255 2.0 71 BULK-0abb0d55
13921 Bulk Product ed652a9f Books $958.45 424 1.4 14 BULK-3c4eeec7
13922 Bulk Product 4a110e74 Toys & Games $476.64 193 3.2 12 BULK-a55fa474
13923 Bulk Product ad11b723 Electronics $217.86 387 4.4 80 BULK-729bdbf6
13924 Bulk Product 3d785e93 Home & Garden $414.56 198 3.5 8 BULK-be7b3449
13925 Bulk Product d6a44169 Home & Garden $928.44 444 2.9 73 BULK-cd80cc9d
13926 Bulk Product 525a3f45 Home & Garden $761.25 434 2.1 0 BULK-0f5ff968
13927 Bulk Product ae6bd6d2 Clothing $296.65 276 1.9 96 BULK-1f79965f
13928 Bulk Product f519d02f Books $671.51 192 3.7 45 BULK-9461448a
13929 Bulk Product f2f56f41 Clothing $346.06 118 0.0 48 BULK-3c61069e
13930 Bulk Product 0cf94823 Sports & Outdoors $292.58 80 1.8 57 BULK-40896f46
13931 Bulk Product fa478d6d Sports & Outdoors $710.54 59 4.6 86 BULK-709df55b
13932 Bulk Product 8300aafc Books $623.13 456 4.8 75 BULK-b9625adf
13933 Bulk Product aa86cf30 Clothing $38.34 183 1.4 75 BULK-d295b523
13934 Bulk Product 9409dc70 Electronics $898.51 8 3.3 64 BULK-ba921dd9
13935 Bulk Product 8abc2f9e Home & Garden $543.94 110 3.9 83 BULK-dab28b42
13936 Bulk Product 4c7df935 Toys & Games $848.47 188 3.9 36 BULK-02d149f8
13937 Bulk Product 9a64d494 Sports & Outdoors $999.95 374 1.1 66 BULK-49fcefc0
13938 Bulk Product 9e24821d Electronics $892.85 107 2.7 71 BULK-9339ca01
13939 Bulk Product 82cad23b Electronics $576.67 24 2.5 52 BULK-ab0db631
13940 Bulk Product 2ea0b8aa Electronics $131.72 270 2.1 99 BULK-d11d021c
13941 Bulk Product 086ab1e5 Books $324.36 155 5.0 56 BULK-965c3453
13942 Bulk Product 084ffa06 Sports & Outdoors $927.30 386 3.1 2 BULK-1bc4d433
13943 Bulk Product a1ad7f5a Electronics $576.11 107 4.7 88 BULK-3167239a
13944 Bulk Product 3c00a36d Sports & Outdoors $78.82 135 4.4 51 BULK-42c554d6
13945 Bulk Product dc17fedf Electronics $298.41 65 2.8 73 BULK-18570bce
13946 Bulk Product da5ca854 Books $777.71 492 3.8 9 BULK-e195e22c
13947 Bulk Product 604d6cbd Toys & Games $234.55 431 4.9 83 BULK-2237e30c
13948 Bulk Product d851f213 Clothing $583.78 85 3.8 70 BULK-8b48dcf8
13949 Bulk Product e05bbd4a Clothing $363.64 314 4.5 92 BULK-6decd668
13950 Bulk Product 6c10e359 Toys & Games $311.69 55 1.5 77 BULK-6c8da6cf
13951 Bulk Product aa5e8f8d Home & Garden $108.27 297 1.2 17 BULK-3c17ab66
13952 Bulk Product 51726a40 Toys & Games $305.05 252 3.7 92 BULK-c4e5b204
13953 Bulk Product b5fcf3a4 Sports & Outdoors $526.41 461 2.1 55 BULK-0cdd5d23
13954 Bulk Product 31c3213f Toys & Games $598.47 157 4.9 79 BULK-21bd1051
13955 Bulk Product 82d5a785 Sports & Outdoors $280.55 214 1.5 34 BULK-e90ae8c2
13956 Bulk Product 98871844 Electronics $62.77 15 0.0 47 BULK-6ffb4567
13957 Bulk Product d7ac0dd1 Sports & Outdoors $399.98 16 3.8 34 BULK-41c0ba4c
13958 Bulk Product ba8b7c8a Home & Garden $608.21 386 4.3 55 BULK-60feeb52
13959 Bulk Product cff236bd Electronics $34.00 97 4.7 92 BULK-0daea6e7
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