Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

16 ms

Page Size

50

Current Page

129 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 129 Results Showing 6401 - 6450 of 24441

ID Name Category Price Stock Rating Reviews SKU
6960 Bulk Product 3e04ec27 Toys & Games $326.09 317 0.9 21 BULK-99212706
6961 Bulk Product 5997d5c3 Clothing $552.62 346 2.4 10 BULK-bac9e7fd
6962 Bulk Product bf000e78 Home & Garden $372.17 254 3.3 23 BULK-67a03121
6963 Bulk Product 0703c147 Electronics $500.66 229 2.6 89 BULK-963e1288
6964 Bulk Product 57fa8f8c Clothing $349.66 113 1.5 0 BULK-471bbb5d
6965 Bulk Product 9e8de18c Home & Garden $691.02 426 3.8 38 BULK-b51f2c75
6966 Bulk Product 7b910928 Clothing $628.71 256 4.7 86 BULK-e33e77c3
6967 Bulk Product 414d9fad Sports & Outdoors $161.95 328 3.7 34 BULK-285802d2
6968 Bulk Product 2262aaa0 Electronics $299.50 185 5.0 84 BULK-a0117bee
6969 Bulk Product 80ce0afc Sports & Outdoors $157.38 135 4.7 70 BULK-fd47c239
6970 Bulk Product 1b4124f1 Home & Garden $918.68 203 2.3 47 BULK-6f7c26b7
6971 Bulk Product a399083d Home & Garden $96.41 433 4.6 83 BULK-b6b92f9e
6972 Bulk Product 6e9dd4f3 Home & Garden $908.23 397 2.3 11 BULK-17e4990a
6973 Bulk Product 10c774f4 Toys & Games $687.63 395 4.3 35 BULK-dace8b58
6974 Bulk Product 628f4fe5 Toys & Games $242.65 135 3.7 86 BULK-5cd98958
6975 Bulk Product dc801c52 Toys & Games $771.74 214 3.8 38 BULK-6cf4e205
6976 Bulk Product f3e575b8 Clothing $15.45 128 1.3 99 BULK-e088563d
6977 Bulk Product 9c98602e Clothing $63.62 353 2.7 27 BULK-f11d9bce
6978 Bulk Product 46296eae Electronics $660.37 121 3.4 27 BULK-2b571b8a
6979 Bulk Product a60a27df Home & Garden $88.15 232 0.4 81 BULK-a682863d
6980 Bulk Product 34e49ed1 Clothing $860.01 27 4.2 15 BULK-ce0c3484
6981 Bulk Product 0fda86b0 Sports & Outdoors $480.35 273 2.0 32 BULK-c6ad6afc
6982 Bulk Product 894e3b82 Electronics $704.24 202 4.0 48 BULK-6e6e4917
6983 Bulk Product f2d05cd8 Home & Garden $449.45 479 0.6 88 BULK-0b6dc74c
6984 Bulk Product b7d59c28 Sports & Outdoors $882.13 38 4.8 81 BULK-2ae0695d
6985 Bulk Product adccddde Clothing $141.56 109 1.3 61 BULK-38061eda
6986 Bulk Product 35f6b48d Books $912.18 498 1.8 63 BULK-94a4025c
6987 Bulk Product 5617d966 Books $557.29 138 1.7 16 BULK-4e681a75
6988 Bulk Product 73646ace Sports & Outdoors $974.24 463 0.9 57 BULK-1dc316d8
6989 Bulk Product 018f69b5 Electronics $886.26 474 0.9 9 BULK-68e68207
6990 Bulk Product 443671f4 Home & Garden $888.20 240 0.1 6 BULK-17d8f596
6991 Bulk Product aec8180b Home & Garden $581.21 291 2.1 68 BULK-74ff9708
6992 Bulk Product 7d03c0ae Sports & Outdoors $683.58 209 1.9 43 BULK-95167cc0
6993 Bulk Product 3027109d Sports & Outdoors $717.38 125 1.3 7 BULK-e6946d0e
6994 Bulk Product 0da72844 Books $500.89 220 2.3 79 BULK-d1cecada
6995 Bulk Product 69f9a536 Clothing $24.90 241 3.8 75 BULK-d0375cf6
6996 Bulk Product 6ddfc2e3 Toys & Games $823.56 86 2.9 84 BULK-196b67c5
6997 Bulk Product 27ebcb4b Clothing $275.62 59 3.9 9 BULK-c34532e1
6998 Bulk Product 3d902442 Sports & Outdoors $955.33 209 4.4 74 BULK-28d41cd9
6999 Bulk Product 76f84f52 Electronics $489.39 329 2.3 37 BULK-1902f5ff
7000 Bulk Product 7c62de1a Electronics $490.13 267 3.6 75 BULK-fcf77914
7001 Bulk Product a9099534 Home & Garden $523.30 27 3.6 59 BULK-c7bc4d89
7002 Bulk Product c5c63461 Books $588.05 293 3.3 22 BULK-20df830b
7003 Bulk Product 31353e51 Home & Garden $552.47 238 3.4 1 BULK-05473530
7004 Bulk Product 70f1d99f Toys & Games $588.54 357 2.8 9 BULK-43a70cdf
7005 Bulk Product 966360c7 Books $223.14 128 3.7 82 BULK-c07093f0
7006 Bulk Product deee57e5 Toys & Games $623.69 225 0.0 75 BULK-2abb9994
7007 Bulk Product c7348914 Sports & Outdoors $233.81 176 3.7 8 BULK-25c183de
7008 Bulk Product 590e4845 Books $1,006.74 360 1.1 84 BULK-b7dea135
7009 Bulk Product 06f5924b Toys & Games $277.29 447 3.7 72 BULK-1555c7aa
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