Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

58 ms

Page Size

50

Current Page

309 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 309 Results Showing 15401 - 15450 of 24441

ID Name Category Price Stock Rating Reviews SKU
15960 Bulk Product d719bc25 Books $317.50 224 0.4 53 BULK-c48dd436
15961 Bulk Product 87ce5037 Home & Garden $819.82 24 1.9 7 BULK-d2a34be4
15962 Bulk Product ac40f892 Electronics $157.43 203 2.1 60 BULK-08ab13f4
15963 Bulk Product c563a059 Home & Garden $455.34 468 3.1 90 BULK-b1d9b9e7
15964 Bulk Product fd673bc6 Clothing $854.16 64 1.4 24 BULK-1b5ca8dc
15965 Bulk Product e8d585b0 Clothing $990.29 114 0.7 9 BULK-8671266d
15966 Bulk Product 4c395e5c Books $533.28 487 4.1 42 BULK-b2d2a01c
15967 Bulk Product 7509e699 Clothing $761.75 467 0.3 44 BULK-93a6259f
15968 Bulk Product 15ec2147 Books $690.69 461 0.3 9 BULK-48a1be14
15969 Bulk Product 3a169c28 Electronics $271.25 194 3.1 49 BULK-40998e7d
15970 Bulk Product 3b6f428d Electronics $350.96 139 5.0 67 BULK-6f10fcea
15971 Bulk Product b7564f88 Books $204.57 190 4.0 40 BULK-ffa3ccfd
15972 Bulk Product f95d5ccd Books $136.41 142 3.9 43 BULK-b65b395a
15973 Bulk Product 8a93f990 Clothing $140.61 367 3.5 38 BULK-a46895f9
15974 Bulk Product 8f68799d Home & Garden $955.40 206 2.3 32 BULK-b6ca1751
15975 Bulk Product 6cab9dbe Books $314.54 250 0.9 93 BULK-d0d7c5b1
15976 Bulk Product 32bf5bda Electronics $294.12 83 0.4 50 BULK-c815561a
15977 Bulk Product 43c5041a Home & Garden $114.70 378 0.0 92 BULK-eb8e5ccf
15978 Bulk Product 9dca561c Books $300.30 456 4.6 15 BULK-bc8871b8
15979 Bulk Product 9aebcbcf Electronics $342.22 400 2.3 20 BULK-d2a42a2b
15980 Bulk Product ac8cdf01 Clothing $431.90 222 4.2 21 BULK-34226ba1
15981 Bulk Product ab46e8e0 Books $31.42 193 3.9 53 BULK-74b1b253
15982 Bulk Product 89af4d3e Sports & Outdoors $555.75 238 3.9 60 BULK-48341ca0
15983 Bulk Product 5da53232 Home & Garden $50.42 18 1.9 11 BULK-721d45bf
15984 Bulk Product 6cbe0489 Books $894.22 373 2.2 7 BULK-de1a03d5
15985 Bulk Product 4f16b4c1 Home & Garden $128.05 47 1.8 67 BULK-63442f20
15986 Bulk Product 17d8709f Sports & Outdoors $477.96 260 3.4 82 BULK-cc14f199
15987 Bulk Product 2705eb0f Toys & Games $771.62 1 0.6 51 BULK-0e4acf8e
15988 Bulk Product 941ff6fb Home & Garden $944.47 437 1.1 67 BULK-31839b65
15989 Bulk Product 2ec999b5 Books $860.25 354 0.2 37 BULK-83e69162
15990 Bulk Product 030cfcba Books $918.88 215 0.3 84 BULK-f3d480f9
15991 Bulk Product 0ce923f1 Books $312.60 4 2.5 9 BULK-0714e0a2
15992 Bulk Product d61998b0 Clothing $540.62 495 0.3 67 BULK-2192b730
15993 Bulk Product 5a3017b1 Toys & Games $542.57 333 1.1 16 BULK-8dbebfd8
15994 Bulk Product f73a274e Home & Garden $1,008.96 27 4.6 55 BULK-9165ea07
15995 Bulk Product 3fcca318 Home & Garden $983.51 409 2.3 5 BULK-e918016f
15996 Bulk Product 5cec4154 Electronics $917.04 206 0.6 29 BULK-b7a14ccd
15997 Bulk Product cad4dc9c Electronics $630.07 61 0.6 42 BULK-27114f7d
15998 Bulk Product 3dbc94ec Sports & Outdoors $952.16 96 1.2 79 BULK-3c288ce6
15999 Bulk Product 13ce3713 Books $479.63 3 2.2 20 BULK-2ac1252c
16000 Bulk Product acc6991c Sports & Outdoors $390.66 159 1.2 43 BULK-ba54118e
16001 Bulk Product a1e8f4c5 Clothing $832.82 490 4.6 36 BULK-5287afd5
16002 Bulk Product 3e930ff5 Clothing $379.52 355 4.1 6 BULK-97fc878b
16003 Bulk Product a221a522 Home & Garden $820.24 350 3.8 56 BULK-4d62392e
16004 Bulk Product 5b71c85e Toys & Games $133.01 166 1.7 57 BULK-616dd1fe
16005 Bulk Product 15d351b0 Books $713.74 299 1.0 50 BULK-28725491
16006 Bulk Product 698fcf1b Books $698.80 162 2.4 51 BULK-6b578021
16007 Bulk Product bc8d01d8 Home & Garden $997.91 80 3.9 73 BULK-c2bfc61d
16008 Bulk Product 46391dd7 Home & Garden $989.70 484 2.7 82 BULK-6b746c34
16009 Bulk Product 9aadbcd8 Sports & Outdoors $123.26 236 2.6 40 BULK-ab52d836
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