Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

19 ms

Page Size

50

Current Page

396 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 396 Results Showing 19751 - 19800 of 24441

ID Name Category Price Stock Rating Reviews SKU
20310 Bulk Product c86873da Toys & Games $748.20 261 2.8 92 BULK-8121d3d4
20311 Bulk Product f08deba2 Clothing $589.64 459 3.4 93 BULK-637d15c4
20312 Bulk Product 83493ff6 Sports & Outdoors $751.10 279 2.9 16 BULK-80fb80af
20313 Bulk Product 73e5bb3d Clothing $732.29 484 2.9 89 BULK-e3af85e3
20314 Bulk Product 1af8bf7a Electronics $951.86 180 3.6 59 BULK-6b12fb0d
20315 Bulk Product bb7363fc Home & Garden $730.19 458 4.0 16 BULK-73057148
20316 Bulk Product 22e24185 Sports & Outdoors $272.62 436 3.6 35 BULK-00192674
20317 Bulk Product a1661fdd Books $163.02 340 0.2 67 BULK-00514268
20318 Bulk Product 414d8516 Electronics $855.85 459 0.4 53 BULK-05d5d5ad
20319 Bulk Product c819bb71 Home & Garden $334.06 429 2.0 92 BULK-663eeb5d
20320 Bulk Product 56eadd24 Home & Garden $577.21 230 2.8 6 BULK-bcc8d751
20321 Bulk Product 5aab8483 Sports & Outdoors $87.11 275 1.7 14 BULK-322a8235
20322 Bulk Product 3b8777d1 Electronics $288.75 127 4.3 12 BULK-b889c8c9
20323 Bulk Product 1cff7cc9 Clothing $436.23 190 0.1 8 BULK-75511343
20324 Bulk Product bcde2394 Books $21.45 207 0.6 8 BULK-d5d1aff0
20325 Bulk Product ba79e18f Toys & Games $545.59 234 4.5 52 BULK-cacf352b
20326 Bulk Product 38af316c Books $340.59 125 1.5 47 BULK-510340b8
20327 Bulk Product ff9501aa Books $510.48 155 2.9 42 BULK-d87bab1e
20328 Bulk Product f65e85ae Home & Garden $335.43 498 3.4 98 BULK-0810b844
20329 Bulk Product 461b93be Clothing $810.96 416 3.1 92 BULK-96ea2110
20330 Bulk Product dc36c51d Home & Garden $294.40 87 3.9 38 BULK-9904c48b
20331 Bulk Product 42e6630c Electronics $227.81 361 4.6 51 BULK-2cc8dd02
20332 Bulk Product f05c8367 Clothing $355.80 235 2.1 71 BULK-84bb9c3f
20333 Bulk Product 0a46c14b Home & Garden $109.11 258 0.6 64 BULK-ebbd9b01
20334 Bulk Product 314e0d64 Electronics $968.71 225 3.3 4 BULK-a81c5192
20335 Bulk Product b768a43f Electronics $136.73 152 0.6 31 BULK-1d346cda
20336 Bulk Product f8a81286 Toys & Games $840.72 214 3.6 26 BULK-494a2572
20337 Bulk Product df4ca4d2 Sports & Outdoors $906.20 380 4.9 50 BULK-2ecd3f98
20338 Bulk Product 9d41f971 Home & Garden $457.27 479 3.9 5 BULK-876728f3
20339 Bulk Product 5671587f Home & Garden $958.57 44 0.7 62 BULK-1c310b87
20340 Bulk Product 3bddccdb Home & Garden $701.41 16 4.6 79 BULK-4e8a2ca8
20341 Bulk Product e991345a Toys & Games $536.49 145 4.3 82 BULK-0a288ace
20342 Bulk Product 965d717f Clothing $421.20 234 2.2 5 BULK-330ee3f0
20343 Bulk Product b756cfe8 Toys & Games $896.51 340 2.8 88 BULK-61978b79
20344 Bulk Product 41e28ac7 Electronics $592.87 89 3.3 4 BULK-cade3812
20345 Bulk Product 075548c2 Books $913.91 428 4.6 49 BULK-9da2ef31
20346 Bulk Product 1247f429 Books $885.58 459 1.6 34 BULK-e39d051f
20347 Bulk Product b92f78a0 Sports & Outdoors $123.09 391 2.4 40 BULK-ff890e96
20348 Bulk Product 64326e65 Books $336.61 402 4.3 88 BULK-a6303f22
20349 Bulk Product 1c679b92 Toys & Games $790.57 348 0.4 50 BULK-b6d22003
20350 Bulk Product 07179aee Clothing $268.69 450 0.8 41 BULK-50e59129
20351 Bulk Product d3313772 Sports & Outdoors $827.45 54 4.8 78 BULK-c7fd00c8
20352 Bulk Product 36a56e72 Home & Garden $424.43 324 2.6 85 BULK-d0f5e1fd
20353 Bulk Product 2d013650 Books $171.59 376 2.0 98 BULK-32dfa0b1
20354 Bulk Product c3f7ecd0 Home & Garden $649.44 194 4.2 67 BULK-e99627c7
20355 Bulk Product 576c0bc6 Toys & Games $542.38 184 4.2 78 BULK-d5ef730a
20356 Bulk Product 791fdbac Books $911.04 265 1.1 5 BULK-9b491aa2
20357 Bulk Product de01ab98 Home & Garden $81.48 133 2.4 84 BULK-b64d91a7
20358 Bulk Product 8108596c Sports & Outdoors $96.24 52 2.2 58 BULK-425e02a7
20359 Bulk Product 91a7cacc Clothing $606.52 450 2.5 2 BULK-7fb0b445
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