Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

35 ms

Page Size

50

Current Page

131 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 131 Results Showing 6501 - 6550 of 24441

ID Name Category Price Stock Rating Reviews SKU
7060 Bulk Product 0b8a70dd Clothing $277.80 407 0.5 91 BULK-6fa048d9
7061 Bulk Product 328a1b10 Toys & Games $641.80 461 1.7 59 BULK-c140a353
7062 Bulk Product 0e5bcb40 Sports & Outdoors $406.62 425 0.7 46 BULK-7cbe4286
7063 Bulk Product df3c6f8f Toys & Games $845.95 112 1.1 18 BULK-a2c36e78
7064 Bulk Product 72f4df17 Toys & Games $32.55 464 3.7 46 BULK-34ffa7d1
7065 Bulk Product 2adb2162 Electronics $192.40 95 4.6 35 BULK-a49f2f29
7066 Bulk Product 9a2d9b5d Electronics $313.34 494 3.2 95 BULK-91837928
7067 Bulk Product 037ab882 Clothing $382.92 236 1.5 40 BULK-69d2a2de
7068 Bulk Product 26f8445c Toys & Games $387.52 285 4.1 9 BULK-3037ee8f
7069 Bulk Product d4fb363e Home & Garden $705.38 170 0.2 8 BULK-6dac3b29
7070 Bulk Product 025d0534 Sports & Outdoors $692.05 84 2.8 54 BULK-d11abc62
7071 Bulk Product 5ba4ed0e Toys & Games $838.19 381 0.5 58 BULK-5eba1f24
7072 Bulk Product addb6135 Books $184.63 177 3.3 90 BULK-e2e4e69b
7073 Bulk Product 2a28a92a Books $339.18 81 4.3 96 BULK-24955357
7074 Bulk Product 9b43445f Electronics $126.52 99 3.4 51 BULK-038286c3
7075 Bulk Product a896d667 Books $780.25 459 2.6 22 BULK-8d0aa011
7076 Bulk Product 10c5741c Electronics $969.14 196 4.3 79 BULK-d1a71358
7077 Bulk Product 19c0c854 Clothing $76.17 407 3.4 13 BULK-aba104a7
7078 Bulk Product 691075fa Clothing $429.91 161 3.3 78 BULK-6f269fef
7079 Bulk Product b370acdb Books $782.32 393 2.8 96 BULK-57e1f976
7080 Bulk Product 29427c15 Electronics $154.25 192 2.3 35 BULK-c31f74d1
7081 Bulk Product 967879e1 Home & Garden $793.81 497 0.1 1 BULK-de35f140
7082 Bulk Product c5ce00fa Sports & Outdoors $484.81 356 1.1 6 BULK-311850b3
7083 Bulk Product dd33570f Books $768.24 357 2.1 27 BULK-463df44d
7084 Bulk Product ffa2e4c1 Sports & Outdoors $752.98 63 2.8 45 BULK-8e2be215
7085 Bulk Product 315bfcbb Electronics $830.89 244 1.2 3 BULK-47a74296
7086 Bulk Product efabada3 Clothing $46.26 20 1.5 56 BULK-639f5898
7087 Bulk Product e2970872 Toys & Games $776.52 210 3.5 91 BULK-1dad4c9d
7088 Bulk Product 04d39123 Home & Garden $943.00 444 1.8 45 BULK-f03c0fd2
7089 Bulk Product f4837baa Toys & Games $932.84 466 2.8 61 BULK-7d406f0a
7090 Bulk Product b47546b5 Books $506.18 409 2.2 0 BULK-9f612b38
7091 Bulk Product e5823cb4 Toys & Games $341.38 409 1.7 91 BULK-d6775870
7092 Bulk Product de05a96f Clothing $744.01 475 3.9 66 BULK-4144faad
7093 Bulk Product 7bb32e28 Toys & Games $977.99 307 3.6 66 BULK-f2855c9e
7094 Bulk Product 42987b8f Sports & Outdoors $611.61 290 0.8 70 BULK-65fd2106
7095 Bulk Product 5ba9f6df Toys & Games $19.90 382 3.3 49 BULK-2f4fe769
7096 Bulk Product e07a3d91 Home & Garden $935.85 230 4.9 3 BULK-9eecde34
7097 Bulk Product 72b1bc4f Sports & Outdoors $825.90 256 3.8 80 BULK-75afd3bd
7098 Bulk Product 5a6f392a Toys & Games $685.91 392 0.6 85 BULK-d17fe5d2
7099 Bulk Product 0232732c Toys & Games $481.38 74 3.2 24 BULK-dc60d715
7100 Bulk Product afb7130b Books $591.16 191 2.5 80 BULK-49147623
7101 Bulk Product 80ade4e1 Sports & Outdoors $478.43 234 3.1 60 BULK-b10bc14b
7102 Bulk Product a479fe53 Toys & Games $762.75 308 2.9 83 BULK-17c17ba3
7103 Bulk Product 5089f684 Clothing $467.52 231 2.0 15 BULK-2287a2a4
7104 Bulk Product 1aa1f971 Home & Garden $126.38 284 3.6 70 BULK-b7da7b90
7105 Bulk Product d6bb28ce Toys & Games $869.55 190 2.8 40 BULK-aeb385a2
7106 Bulk Product 92000234 Sports & Outdoors $553.54 174 3.7 31 BULK-92d360de
7107 Bulk Product 54acefee Home & Garden $600.53 145 4.0 42 BULK-2adede86
7108 Bulk Product 80aad70a Books $901.74 152 4.3 79 BULK-f7e0c024
7109 Bulk Product e42b2091 Electronics $663.05 147 2.7 1 BULK-f8e13599
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