Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

15 ms

Page Size

50

Current Page

454 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 454 Results Showing 22651 - 22700 of 24441

ID Name Category Price Stock Rating Reviews SKU
23210 Bulk Product 918dfcf2 Electronics $165.71 82 2.2 22 BULK-43232415
23211 Bulk Product 0522083f Toys & Games $859.31 457 0.8 33 BULK-a1c19690
23212 Bulk Product 17a4ff96 Clothing $770.93 499 1.3 12 BULK-095df6d7
23213 Bulk Product 20a30d0a Books $634.86 237 1.6 6 BULK-b466b077
23214 Bulk Product a497615b Electronics $331.08 445 0.9 22 BULK-b4f75dee
23215 Bulk Product f918dae7 Clothing $318.30 338 3.9 23 BULK-0039f6d1
23216 Bulk Product d43aae18 Sports & Outdoors $485.50 406 2.5 21 BULK-b70fc526
23217 Bulk Product 492de078 Books $970.17 178 4.4 69 BULK-876d30c7
23218 Bulk Product d79d1a70 Electronics $494.71 63 4.4 59 BULK-44a948f5
23219 Bulk Product 564696de Books $924.27 125 2.0 14 BULK-8f64e4cd
23220 Bulk Product 990c3187 Home & Garden $637.42 28 2.9 93 BULK-456c6174
23221 Bulk Product 899fb301 Electronics $702.31 355 0.1 50 BULK-a52d7c3f
23222 Bulk Product 9c1ea059 Home & Garden $370.43 126 2.8 79 BULK-b932ab19
23223 Bulk Product 7e40cdac Electronics $809.24 181 4.3 6 BULK-d53c338c
23224 Bulk Product 13870f9c Sports & Outdoors $158.91 404 2.7 35 BULK-fe8b21e1
23225 Bulk Product 718f9bb1 Books $27.92 331 4.4 82 BULK-0d71c964
23226 Bulk Product 5797c4ae Books $376.73 109 4.9 15 BULK-cc33f568
23227 Bulk Product bb090415 Home & Garden $702.68 265 3.3 66 BULK-d3d696d7
23228 Bulk Product 5ec19975 Books $457.56 319 3.4 34 BULK-6f0bc1d5
23229 Bulk Product bc1869e6 Toys & Games $557.63 412 2.1 55 BULK-1506e5e5
23230 Bulk Product 4df9b2f1 Sports & Outdoors $803.12 448 5.0 9 BULK-5c1b7fc9
23231 Bulk Product 2e637965 Toys & Games $801.07 325 1.0 33 BULK-1ded8893
23232 Bulk Product 07d6a44b Books $715.21 475 2.9 76 BULK-0e2291ac
23233 Bulk Product 78d54a75 Home & Garden $507.88 42 4.8 85 BULK-f9c97547
23234 Bulk Product 7305f7d5 Clothing $861.45 443 4.2 54 BULK-411a7f52
23235 Bulk Product 332f0611 Sports & Outdoors $229.20 23 2.5 47 BULK-107af8e3
23236 Bulk Product 411317cb Toys & Games $584.70 214 4.8 57 BULK-28b2b758
23237 Bulk Product 3f9a2df4 Electronics $797.48 68 4.0 17 BULK-8bb7223c
23238 Bulk Product 3f585024 Home & Garden $350.23 387 3.3 76 BULK-0697cf04
23239 Bulk Product 3b72d7b0 Books $389.44 285 3.0 69 BULK-e32715f1
23240 Bulk Product b927e538 Home & Garden $837.14 129 3.5 61 BULK-7ada7300
23241 Bulk Product 2562a2f6 Toys & Games $135.50 351 2.3 70 BULK-f6151e99
23242 Bulk Product 0123d834 Sports & Outdoors $627.09 499 0.5 86 BULK-bed57a1b
23243 Bulk Product 5adba57a Clothing $595.31 58 2.7 21 BULK-b3b053b4
23244 Bulk Product 52b740a0 Toys & Games $499.56 350 4.2 55 BULK-b03b107a
23245 Bulk Product bb1f6671 Books $367.91 457 4.5 81 BULK-c21a5ef6
23246 Bulk Product 3e1fe62c Books $181.19 248 2.3 22 BULK-38702fb9
23247 Bulk Product d19ee2f5 Clothing $79.49 464 2.3 24 BULK-c76442e2
23248 Bulk Product 20fa07c4 Home & Garden $795.31 140 3.6 91 BULK-3944aa46
23249 Bulk Product 51dc8b5f Books $624.46 68 2.7 10 BULK-48cce0ff
23250 Bulk Product db25ce35 Books $904.16 74 0.2 13 BULK-917cee14
23251 Bulk Product 8a513d3e Sports & Outdoors $671.58 373 2.0 0 BULK-2d00689a
23252 Bulk Product 53de16da Electronics $101.30 68 1.8 94 BULK-101f9795
23253 Bulk Product 97c2f9bb Clothing $367.69 441 0.7 98 BULK-c49f65aa
23254 Bulk Product b79a53a4 Toys & Games $384.44 95 0.2 75 BULK-f73aa477
23255 Bulk Product 66a800dd Clothing $651.10 372 3.7 82 BULK-12edf2f7
23256 Bulk Product d7f357d3 Electronics $340.75 83 4.9 21 BULK-0bb82f99
23257 Bulk Product 285db5a6 Home & Garden $817.92 285 0.7 31 BULK-fbee9bda
23258 Bulk Product 479b7c52 Electronics $578.53 239 4.7 41 BULK-02456587
23259 Bulk Product 4825325f Sports & Outdoors $988.34 326 1.0 58 BULK-a1cbba10
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