Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

10 ms

Page Size

50

Current Page

154 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 154 Results Showing 7651 - 7700 of 24441

ID Name Category Price Stock Rating Reviews SKU
8210 Bulk Product 8a33dac7 Home & Garden $271.73 259 4.7 50 BULK-fc513480
8211 Bulk Product f8b6ce21 Books $530.67 109 1.1 89 BULK-45775170
8212 Bulk Product 9ffdd0d3 Sports & Outdoors $785.45 119 2.7 26 BULK-41fd8369
8213 Bulk Product d9879c13 Toys & Games $600.00 219 1.6 90 BULK-cbc00057
8214 Bulk Product 622480ac Clothing $363.06 250 1.3 17 BULK-9f1377e3
8215 Bulk Product 4c322eb5 Books $471.96 388 1.5 94 BULK-42a2bcac
8216 Bulk Product eae6e25b Electronics $740.13 228 3.1 17 BULK-184d7116
8217 Bulk Product fc2ef699 Electronics $111.80 273 4.8 78 BULK-d911afc4
8218 Bulk Product 251912db Books $907.95 216 1.0 37 BULK-43bcbc9b
8219 Bulk Product 4ef9da5d Electronics $124.67 223 0.7 96 BULK-141343f7
8220 Bulk Product 0d42c715 Toys & Games $893.93 320 2.8 26 BULK-eccb3b8e
8221 Bulk Product 7cd02c75 Toys & Games $616.08 5 3.9 6 BULK-8d23c57c
8222 Bulk Product 64537eba Books $275.89 164 1.4 41 BULK-ae449971
8223 Bulk Product 23772b09 Home & Garden $394.43 10 0.0 84 BULK-510c050e
8224 Bulk Product f7516c7f Toys & Games $461.26 410 0.8 67 BULK-752c9025
8225 Bulk Product 1c2258e5 Sports & Outdoors $79.43 357 4.0 62 BULK-3066dc7c
8226 Bulk Product a38d3bb0 Clothing $116.45 25 0.4 5 BULK-bc47da48
8227 Bulk Product 1969ad25 Toys & Games $947.36 56 4.5 60 BULK-c098a392
8228 Bulk Product 2272c87f Toys & Games $454.65 11 4.9 93 BULK-6d3ee791
8229 Bulk Product b1b27b93 Sports & Outdoors $15.42 412 0.6 86 BULK-d8506684
8230 Bulk Product 09d2ac77 Books $420.75 490 1.1 35 BULK-6a41df7f
8231 Bulk Product f0ef5712 Clothing $651.32 444 3.6 10 BULK-60f9dddf
8232 Bulk Product b0592980 Home & Garden $175.17 109 2.1 22 BULK-0ab82e4c
8233 Bulk Product 20b94a34 Home & Garden $105.63 178 0.5 60 BULK-5b000306
8234 Bulk Product 327e37f0 Sports & Outdoors $369.38 417 3.5 21 BULK-03982119
8235 Bulk Product eb1c41cb Electronics $770.37 342 1.0 1 BULK-dda55728
8236 Bulk Product 30b4e936 Books $910.34 469 0.2 32 BULK-2dbcec04
8237 Bulk Product f643c96b Clothing $715.10 68 2.0 26 BULK-e7daa652
8238 Bulk Product b599b890 Toys & Games $955.38 193 3.5 54 BULK-ff49da9f
8239 Bulk Product a7bceb48 Toys & Games $883.43 87 3.6 80 BULK-3aa42b7e
8240 Bulk Product f9da8d84 Toys & Games $824.24 139 0.5 87 BULK-a602e50e
8241 Bulk Product 350f47f2 Sports & Outdoors $674.75 249 1.5 76 BULK-e5db8e81
8242 Bulk Product b10d9ca6 Toys & Games $547.58 477 3.9 21 BULK-ed6e7beb
8243 Bulk Product 28c9e5a4 Clothing $892.25 80 3.1 38 BULK-f83b71f0
8244 Bulk Product 7f1cf406 Toys & Games $503.76 276 1.9 37 BULK-703f9f7c
8245 Bulk Product 25da87ab Electronics $250.35 300 2.7 84 BULK-3f5b8c75
8246 Bulk Product 6bf67508 Sports & Outdoors $367.34 430 2.4 26 BULK-aa068712
8247 Bulk Product 784909f0 Electronics $406.54 77 2.5 83 BULK-49b9f101
8248 Bulk Product 4f07fa6e Clothing $350.98 1 0.2 69 BULK-076c152d
8249 Bulk Product 4895073f Home & Garden $996.82 381 1.8 90 BULK-48b37343
8250 Bulk Product 0762a2c8 Sports & Outdoors $127.26 430 1.1 36 BULK-2a985d65
8251 Bulk Product a0c1e1ed Books $786.54 130 0.3 29 BULK-bb3aa03f
8252 Bulk Product 0db3960e Books $998.75 176 1.6 46 BULK-eb646884
8253 Bulk Product 980a2fea Clothing $659.05 462 1.8 29 BULK-740b36d4
8254 Bulk Product e9123e02 Home & Garden $305.81 156 1.2 99 BULK-7cf59096
8255 Bulk Product 37b01ccc Home & Garden $353.62 91 1.3 76 BULK-f7d59011
8256 Bulk Product 6e389212 Electronics $11.50 385 4.3 97 BULK-22e96380
8257 Bulk Product b0803dd2 Electronics $950.48 222 0.3 74 BULK-22b5be05
8258 Bulk Product 5000479a Sports & Outdoors $938.41 472 1.2 67 BULK-080b31ae
8259 Bulk Product cffd154b Clothing $568.14 446 2.7 99 BULK-6c92de4b
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