Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

25 ms

Page Size

50

Current Page

266 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 266 Results Showing 13251 - 13300 of 24441

ID Name Category Price Stock Rating Reviews SKU
13810 Bulk Product 43dfbae6 Clothing $265.96 250 0.5 11 BULK-64a698fb
13811 Bulk Product 7b590d1b Clothing $284.99 245 0.8 18 BULK-dc8f0e35
13812 Bulk Product 174e5468 Sports & Outdoors $591.16 258 2.0 50 BULK-010ba412
13813 Bulk Product 51902f3e Toys & Games $285.68 389 2.0 88 BULK-0ffa41e5
13814 Bulk Product 853ead85 Electronics $962.05 328 0.2 85 BULK-d462c3c8
13815 Bulk Product 10a4dde7 Home & Garden $682.97 47 0.9 80 BULK-47049041
13816 Bulk Product df07df93 Books $473.32 159 2.7 50 BULK-fe2d2208
13817 Bulk Product b47f7f29 Home & Garden $852.89 354 2.8 25 BULK-9406ebad
13818 Bulk Product 0ee37e47 Electronics $502.40 364 0.7 48 BULK-9f676fe0
13819 Bulk Product 402fbaec Electronics $774.88 338 4.4 31 BULK-141e17de
13820 Bulk Product 7b4181e1 Books $242.40 470 3.6 73 BULK-f1dba0e6
13821 Bulk Product 8bb17a8e Home & Garden $105.08 182 3.6 32 BULK-5cb56a4f
13822 Bulk Product 63115194 Sports & Outdoors $570.64 497 4.5 30 BULK-034bf0d9
13823 Bulk Product 58f17f74 Toys & Games $78.04 366 3.0 49 BULK-94da27ea
13824 Bulk Product b6a763f9 Electronics $341.41 199 3.4 84 BULK-5f520375
13825 Bulk Product a4cfa7fb Toys & Games $412.02 422 3.7 42 BULK-703d6f4b
13826 Bulk Product f9727e14 Clothing $800.60 155 0.0 25 BULK-1914b966
13827 Bulk Product 26dfec28 Home & Garden $799.51 73 1.6 12 BULK-d41dd44c
13828 Bulk Product 9cb6499d Clothing $71.30 454 3.8 64 BULK-8a0cf727
13829 Bulk Product a4b96e4d Books $960.61 195 3.0 31 BULK-bcbdf5f8
13830 Bulk Product 516d071f Books $977.51 155 0.1 61 BULK-ad07e2e3
13831 Bulk Product a4384fa6 Sports & Outdoors $709.33 209 3.2 41 BULK-8f4e6936
13832 Bulk Product c2e1598f Home & Garden $686.79 145 1.3 70 BULK-32a11adf
13833 Bulk Product 1ed1b651 Sports & Outdoors $943.68 321 2.8 99 BULK-70a65841
13834 Bulk Product 8214c1b9 Toys & Games $139.25 53 4.6 56 BULK-4e6c8886
13835 Bulk Product f6e20330 Home & Garden $81.65 124 1.5 72 BULK-cffc1b73
13836 Bulk Product 1863baee Electronics $979.77 232 2.0 16 BULK-bc5dd1dc
13837 Bulk Product 0424d9ba Electronics $260.03 292 1.3 28 BULK-c7dcf7c5
13838 Bulk Product f2a58205 Toys & Games $326.87 249 3.1 89 BULK-92b45ef4
13839 Bulk Product 54579672 Books $828.61 358 4.9 91 BULK-4e9e2ed7
13840 Bulk Product 50d1fff7 Home & Garden $36.76 69 3.6 33 BULK-fe02fe6d
13841 Bulk Product ba1f99f8 Toys & Games $472.06 191 4.7 6 BULK-be234837
13842 Bulk Product 0c982ce4 Electronics $416.38 404 2.5 74 BULK-f028869b
13843 Bulk Product e5c17c06 Home & Garden $700.83 369 2.0 68 BULK-8266e563
13844 Bulk Product bd6a850d Clothing $587.84 99 3.1 43 BULK-517cda50
13845 Bulk Product c7a9a4e6 Clothing $379.63 155 1.7 26 BULK-bd9ce718
13846 Bulk Product 29c3f895 Clothing $149.10 7 3.1 38 BULK-8fa749b6
13847 Bulk Product dbd2c922 Books $54.11 157 0.9 8 BULK-1fb4c594
13848 Bulk Product 72b29f5d Clothing $262.18 269 2.6 36 BULK-893bd8d8
13849 Bulk Product 1205d69e Home & Garden $640.34 271 1.9 49 BULK-8bae6927
13850 Bulk Product dc1fd443 Clothing $869.69 431 1.4 93 BULK-44be5b4a
13851 Bulk Product 1060e5ce Books $724.79 284 2.0 9 BULK-b8ee05c4
13852 Bulk Product ebfd4209 Toys & Games $385.22 313 3.8 25 BULK-cd31cf2c
13853 Bulk Product 45e7cd7c Home & Garden $486.17 393 1.2 55 BULK-697c5a73
13854 Bulk Product 5ebfab6e Books $196.25 277 2.5 22 BULK-f2c25a79
13855 Bulk Product ff1b963f Toys & Games $416.50 204 1.5 80 BULK-84471e8d
13856 Bulk Product 93177a67 Clothing $1,009.23 426 4.1 10 BULK-c6f2c526
13857 Bulk Product a6e92b4f Sports & Outdoors $780.05 316 3.3 72 BULK-39457f8b
13858 Bulk Product 052d3504 Clothing $825.81 166 1.0 81 BULK-444753a8
13859 Bulk Product a06d4d52 Clothing $24.18 235 1.8 84 BULK-4fa4725f
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