Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

19 ms

Page Size

50

Current Page

230 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 230 Results Showing 11451 - 11500 of 24441

ID Name Category Price Stock Rating Reviews SKU
12010 Bulk Product e5bf035a Home & Garden $93.74 295 2.7 29 BULK-39e14373
12011 Bulk Product b71e51b7 Books $630.94 362 2.1 95 BULK-f8a4945d
12012 Bulk Product d9f30ce2 Toys & Games $108.69 269 4.7 94 BULK-a4f90c0f
12013 Bulk Product 53e5a1cb Sports & Outdoors $262.19 108 3.8 61 BULK-0dc5d3d8
12014 Bulk Product 991b6895 Clothing $203.65 84 0.3 77 BULK-ba625599
12015 Bulk Product d1f8c8a7 Electronics $644.82 29 2.9 89 BULK-b6b3ba36
12016 Bulk Product 21c2e459 Toys & Games $453.98 489 0.8 91 BULK-debccab0
12017 Bulk Product d3e60bc5 Electronics $135.70 338 1.4 75 BULK-a8acedda
12018 Bulk Product 754d8e7b Sports & Outdoors $275.62 432 3.7 3 BULK-d92fc3ee
12019 Bulk Product 532fccb3 Sports & Outdoors $469.90 355 2.6 4 BULK-6e090ab9
12020 Bulk Product dde65052 Electronics $862.46 483 0.8 95 BULK-5fb629e2
12021 Bulk Product a4e6890e Home & Garden $998.58 409 4.9 32 BULK-8342f434
12022 Bulk Product fecc2c44 Sports & Outdoors $988.98 293 0.8 50 BULK-91001263
12023 Bulk Product 157488f8 Clothing $614.71 67 3.5 79 BULK-83ace3a0
12024 Bulk Product 454cbd39 Electronics $992.06 177 2.4 11 BULK-b1197d02
12025 Bulk Product fbe20157 Clothing $134.56 305 3.4 89 BULK-171ed4d7
12026 Bulk Product 47b4b7d0 Sports & Outdoors $448.44 46 4.6 55 BULK-2dcbbe5c
12027 Bulk Product 3b3be6c7 Electronics $133.56 255 2.8 79 BULK-501931ca
12028 Bulk Product 17bf134b Home & Garden $488.49 253 3.7 96 BULK-77fe176e
12029 Bulk Product 86657c1e Toys & Games $530.46 42 3.4 50 BULK-321c4c15
12030 Bulk Product 9374ab3c Clothing $301.99 195 2.1 37 BULK-6f179735
12031 Bulk Product bb448a03 Toys & Games $874.05 88 3.3 71 BULK-ce1d33e8
12032 Bulk Product 0d29ee54 Home & Garden $157.06 1 4.5 6 BULK-c007f64c
12033 Bulk Product a9ce5e30 Electronics $42.78 205 3.8 40 BULK-854002be
12034 Bulk Product 37a8a9f6 Electronics $958.29 463 1.5 45 BULK-7cf69fdd
12035 Bulk Product 0f279729 Electronics $88.39 202 2.9 45 BULK-d5324c6d
12036 Bulk Product 1146c662 Sports & Outdoors $230.08 342 2.7 58 BULK-e7ee818f
12037 Bulk Product 67c796a6 Electronics $18.12 145 3.8 11 BULK-5a4db793
12038 Bulk Product ba38e1ad Sports & Outdoors $359.39 202 0.9 41 BULK-f99b666d
12039 Bulk Product 54eee4d4 Sports & Outdoors $253.83 165 3.0 96 BULK-04732806
12040 Bulk Product 9f3df142 Sports & Outdoors $105.07 94 1.1 14 BULK-5448da65
12041 Bulk Product b051d687 Toys & Games $854.92 437 4.5 36 BULK-e69a4ae5
12042 Bulk Product 559ddae3 Books $315.62 175 0.3 44 BULK-65d865e4
12043 Bulk Product bbf4853d Home & Garden $357.90 467 0.7 92 BULK-bc2ad907
12044 Bulk Product 3ffa665f Books $770.54 307 4.4 72 BULK-ec7cc0ee
12045 Bulk Product 8bba479f Sports & Outdoors $670.26 376 1.6 20 BULK-d1ccb85a
12046 Bulk Product cbf4bd21 Clothing $978.06 391 3.7 44 BULK-3dd1e4d0
12047 Bulk Product afeb7025 Clothing $621.34 103 2.1 25 BULK-af622945
12048 Bulk Product f7290973 Books $972.52 195 1.5 38 BULK-50e986fb
12049 Bulk Product 6cb0db92 Home & Garden $54.95 91 4.6 9 BULK-8f857cd9
12050 Bulk Product 30bb8dfe Toys & Games $14.11 43 1.9 24 BULK-294ceb44
12051 Bulk Product 3553915a Toys & Games $323.76 181 1.2 21 BULK-54b68b54
12052 Bulk Product 6edb6055 Electronics $704.26 131 3.2 99 BULK-65bcb224
12053 Bulk Product a32ae2d2 Toys & Games $448.41 360 4.6 36 BULK-caeae80c
12054 Bulk Product f726ea28 Toys & Games $889.31 194 0.4 86 BULK-818b99af
12055 Bulk Product 6dedf1da Sports & Outdoors $968.96 163 3.7 79 BULK-31bb2389
12056 Bulk Product b954033a Books $30.68 326 2.7 30 BULK-ac90f5b4
12057 Bulk Product 05245e92 Clothing $289.84 186 4.4 50 BULK-97fd9389
12058 Bulk Product f37335cf Electronics $561.42 471 2.7 59 BULK-b6a1c303
12059 Bulk Product 5baf15a9 Clothing $42.91 385 1.8 32 BULK-5c769de2
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