Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

68 ms

Page Size

50

Current Page

345 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 345 Results Showing 17201 - 17250 of 24441

ID Name Category Price Stock Rating Reviews SKU
17760 Bulk Product ccf0ae42 Clothing $493.71 336 3.6 99 BULK-5b4b5ff3
17761 Bulk Product c66d107f Home & Garden $564.53 496 1.4 14 BULK-a8453e0c
17762 Bulk Product 80c5d1e1 Clothing $257.69 179 3.9 32 BULK-756a6fed
17763 Bulk Product a41c97d7 Sports & Outdoors $922.17 404 4.6 2 BULK-52898786
17764 Bulk Product 0f42e754 Books $106.46 191 0.7 88 BULK-30ccab35
17765 Bulk Product f16ce905 Home & Garden $595.98 129 1.9 20 BULK-4f0fa079
17766 Bulk Product c73c6294 Clothing $902.35 335 4.7 52 BULK-8eb66689
17767 Bulk Product 6dcd7da3 Electronics $528.16 195 5.0 60 BULK-95f2c129
17768 Bulk Product b6fcdda8 Home & Garden $643.12 405 3.6 71 BULK-3a4c9aa7
17769 Bulk Product 59d3f69a Sports & Outdoors $728.38 255 1.8 75 BULK-b2d9e6c4
17770 Bulk Product 50d0a9d6 Clothing $607.82 489 3.0 8 BULK-0dc3b377
17771 Bulk Product 8f784bbc Toys & Games $176.67 41 3.1 96 BULK-c955866e
17772 Bulk Product 71f87727 Sports & Outdoors $305.63 64 4.0 83 BULK-b0a1127c
17773 Bulk Product 354df756 Books $478.95 289 2.8 14 BULK-9cf49a25
17774 Bulk Product 1aae78cf Toys & Games $992.60 326 1.2 92 BULK-bff6352b
17775 Bulk Product 2515ea4d Toys & Games $699.09 67 1.2 31 BULK-47a3c4c4
17776 Bulk Product 6981bea6 Clothing $650.63 305 3.6 4 BULK-971bfd50
17777 Bulk Product dfcba9cc Electronics $456.43 105 4.7 45 BULK-f57a7654
17778 Bulk Product d4ac8281 Electronics $542.15 137 4.1 62 BULK-7c95e9c9
17779 Bulk Product c5980939 Toys & Games $881.94 63 3.8 19 BULK-a65ba1c1
17780 Bulk Product ffaf48d8 Toys & Games $464.98 212 0.7 38 BULK-0aa4d81c
17781 Bulk Product 2774016a Sports & Outdoors $553.11 204 1.5 2 BULK-6cff77d4
17782 Bulk Product d14b1223 Home & Garden $680.39 443 0.1 2 BULK-a1105475
17783 Bulk Product e7027421 Toys & Games $158.79 112 4.5 17 BULK-0de0e65d
17784 Bulk Product 9b593ed4 Electronics $573.81 353 0.3 73 BULK-bb9eec6a
17785 Bulk Product a1ca749a Books $369.89 299 4.5 56 BULK-8a5efe16
17786 Bulk Product 9159cc69 Home & Garden $956.11 247 4.4 66 BULK-eb4336a2
17787 Bulk Product 7c1803e8 Toys & Games $468.50 379 0.0 41 BULK-eac4f3ef
17788 Bulk Product 9bbb583d Books $436.51 186 2.1 50 BULK-33fa8c02
17789 Bulk Product 4b58f916 Electronics $857.60 38 0.4 61 BULK-ce420151
17790 Bulk Product 8f6aa0e1 Sports & Outdoors $286.36 15 4.9 97 BULK-75bdd88d
17791 Bulk Product d0837f97 Sports & Outdoors $475.01 401 2.7 51 BULK-31184c88
17792 Bulk Product e53b6dce Home & Garden $771.67 380 1.6 16 BULK-8f8a2b24
17793 Bulk Product 9ac1bb65 Clothing $170.11 413 4.0 42 BULK-62c7a17b
17794 Bulk Product f6de480d Clothing $268.87 277 5.0 96 BULK-8dcf65c0
17795 Bulk Product f24760e8 Toys & Games $839.41 345 1.6 44 BULK-d21ccfd3
17796 Bulk Product 97e907ea Toys & Games $567.28 455 0.2 15 BULK-63417457
17797 Bulk Product 54b0e310 Home & Garden $334.45 267 1.5 29 BULK-58f691ef
17798 Bulk Product 27509d55 Clothing $514.92 114 1.0 99 BULK-70979a00
17799 Bulk Product 1ff5b14e Electronics $379.01 102 1.4 47 BULK-b5c9d558
17800 Bulk Product fa82bae4 Books $723.08 292 0.6 59 BULK-51091306
17801 Bulk Product ef46d1a1 Electronics $952.33 452 3.9 88 BULK-062de311
17802 Bulk Product cb5e775a Home & Garden $342.97 355 2.0 67 BULK-60e40e12
17803 Bulk Product e69f9198 Sports & Outdoors $237.17 246 1.3 59 BULK-5e4d52dd
17804 Bulk Product 5f64f7eb Books $797.79 493 3.3 98 BULK-25fec8dd
17805 Bulk Product 9a465859 Electronics $142.74 423 1.5 27 BULK-496d6c03
17806 Bulk Product 588bf4da Clothing $672.13 448 4.8 37 BULK-a4b3eccb
17807 Bulk Product ffe5a619 Electronics $905.02 194 4.5 24 BULK-02d9309c
17808 Bulk Product 2486dbb1 Toys & Games $802.46 160 0.6 40 BULK-daf0ad47
17809 Bulk Product b2cc5246 Toys & Games $852.69 57 1.8 70 BULK-b3b76d6d
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