Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

31 ms

Page Size

50

Current Page

172 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 172 Results Showing 8551 - 8600 of 24441

ID Name Category Price Stock Rating Reviews SKU
9110 Bulk Product 3e1bba8f Toys & Games $491.73 444 0.7 14 BULK-46d049ce
9111 Bulk Product 6b53c084 Books $972.56 470 0.3 57 BULK-5dbd3ed4
9112 Bulk Product 13b533d5 Books $313.52 146 1.1 36 BULK-40ab9fab
9113 Bulk Product a5e4fe63 Clothing $741.71 147 3.0 49 BULK-64874f15
9114 Bulk Product b162b08a Electronics $510.82 361 0.1 36 BULK-02bd1c1d
9115 Bulk Product 4b132759 Sports & Outdoors $546.64 238 3.3 51 BULK-dcff2663
9116 Bulk Product aa4a7189 Books $934.33 401 2.5 22 BULK-0e196d67
9117 Bulk Product 69002172 Home & Garden $268.39 152 2.2 60 BULK-ce855b3c
9118 Bulk Product 338e7fd6 Home & Garden $871.72 156 4.8 26 BULK-4acba67a
9119 Bulk Product 2ca12dae Home & Garden $805.08 248 1.1 11 BULK-34e83a81
9120 Bulk Product e5fd9d0b Books $198.60 341 3.1 92 BULK-8cba8682
9121 Bulk Product a63c35b3 Home & Garden $235.03 487 2.6 0 BULK-ba6497ed
9122 Bulk Product f3111dfa Clothing $127.67 287 1.3 96 BULK-2dcacc84
9123 Bulk Product 5cda7ce1 Toys & Games $219.79 66 4.3 80 BULK-5bb3584c
9124 Bulk Product 1215112d Electronics $381.10 145 4.8 3 BULK-60f20b89
9125 Bulk Product fbdeaf7e Clothing $151.97 168 3.3 10 BULK-c7ba32c9
9126 Bulk Product 2b9a991e Toys & Games $182.88 218 4.7 32 BULK-2e882631
9127 Bulk Product 89a5494d Clothing $929.26 315 2.7 15 BULK-9d49acb3
9128 Bulk Product 8d4be338 Electronics $480.56 389 4.1 19 BULK-aa8795ee
9129 Bulk Product b3cb7d84 Clothing $574.76 265 4.2 94 BULK-aa63812c
9130 Bulk Product 8ace15fc Electronics $824.29 95 3.9 26 BULK-10cacaed
9131 Bulk Product 2c3c03b6 Books $988.87 332 1.8 88 BULK-25704101
9132 Bulk Product 15793016 Clothing $452.57 102 1.1 11 BULK-ac30f20f
9133 Bulk Product ec95ca4c Clothing $418.01 397 2.6 85 BULK-35f68fd3
9134 Bulk Product e87d80d1 Electronics $926.07 86 2.7 28 BULK-ae025644
9135 Bulk Product 4f4e5c60 Toys & Games $180.97 482 1.2 75 BULK-1d52e900
9136 Bulk Product 3f3d84b6 Books $270.23 71 3.5 36 BULK-c79f1cf8
9137 Bulk Product 62986a40 Home & Garden $759.12 368 1.5 1 BULK-440c7089
9138 Bulk Product d404d097 Books $936.86 396 2.1 95 BULK-1d5fac74
9139 Bulk Product 0aa496f2 Books $444.39 186 0.1 86 BULK-73c305cb
9140 Bulk Product b9e9a2fc Books $26.59 180 3.9 87 BULK-eb4522fe
9141 Bulk Product cd7e4b7f Electronics $418.26 197 4.4 12 BULK-4bf6308a
9142 Bulk Product 55896883 Electronics $108.20 127 0.7 67 BULK-73963d0c
9143 Bulk Product aff38d95 Sports & Outdoors $620.96 450 2.6 62 BULK-b858ab68
9144 Bulk Product 882f69d3 Toys & Games $25.65 363 2.3 72 BULK-4251e62c
9145 Bulk Product 0e38cb66 Toys & Games $547.26 314 1.2 46 BULK-1ddd342a
9146 Bulk Product 8e3c1e65 Sports & Outdoors $701.92 330 4.3 28 BULK-9cd819f5
9147 Bulk Product f4b7c19d Clothing $132.19 219 4.5 9 BULK-2e76f22b
9148 Bulk Product d6f2f52d Home & Garden $85.96 476 2.6 36 BULK-f5403570
9149 Bulk Product 21c738b9 Home & Garden $472.88 239 4.0 30 BULK-55581f2c
9150 Bulk Product 6d81bcaf Electronics $500.94 258 0.8 35 BULK-7af24353
9151 Bulk Product e4bf8290 Clothing $834.96 50 2.3 93 BULK-14f26505
9152 Bulk Product f76aef27 Toys & Games $616.39 209 2.0 95 BULK-5f843908
9153 Bulk Product c513c8ba Books $642.21 192 3.4 48 BULK-e6768f27
9154 Bulk Product 8308dd9d Home & Garden $253.76 285 4.2 7 BULK-36f5e9d0
9155 Bulk Product b661cb99 Sports & Outdoors $315.69 182 3.1 88 BULK-d3f1ef1a
9156 Bulk Product 7d671d34 Sports & Outdoors $541.19 41 1.8 93 BULK-e668af10
9157 Bulk Product 97156489 Home & Garden $646.83 475 3.5 90 BULK-d3ff899f
9158 Bulk Product e57d6dfe Home & Garden $147.71 63 4.2 70 BULK-c617c8e0
9159 Bulk Product 97db9654 Home & Garden $508.63 497 1.4 87 BULK-eecb2d66
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