Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

19 ms

Page Size

50

Current Page

413 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 413 Results Showing 20601 - 20650 of 24441

ID Name Category Price Stock Rating Reviews SKU
21160 Bulk Product f31937e3 Books $721.38 239 3.9 20 BULK-1df5c85d
21161 Bulk Product 6c8d4f45 Sports & Outdoors $133.37 396 0.3 45 BULK-b128b065
21162 Bulk Product 89b08153 Electronics $752.61 488 2.6 37 BULK-e0b8271e
21163 Bulk Product 5806fea3 Home & Garden $40.86 91 2.4 41 BULK-eb101144
21164 Bulk Product 0e1d8ddb Clothing $655.26 251 2.6 14 BULK-b85b4ff6
21165 Bulk Product 3c96ea2b Clothing $457.16 290 4.8 10 BULK-60e818da
21166 Bulk Product 95d980fe Electronics $41.92 111 2.2 86 BULK-667ccb40
21167 Bulk Product d2a2950e Electronics $24.70 128 2.2 96 BULK-500ad7db
21168 Bulk Product cef435b2 Toys & Games $110.89 187 4.4 99 BULK-d228d40c
21169 Bulk Product 89b4ed5e Electronics $85.60 116 3.0 74 BULK-5acc1b61
21170 Bulk Product faa7479b Clothing $12.65 279 2.1 51 BULK-a5930b0b
21171 Bulk Product e5138bee Clothing $336.98 103 1.3 22 BULK-40feb712
21172 Bulk Product d888fb69 Clothing $315.45 44 2.0 59 BULK-461dde96
21173 Bulk Product f30d1164 Books $565.47 255 3.5 62 BULK-629bc434
21174 Bulk Product a91fd9c5 Sports & Outdoors $954.03 326 3.5 97 BULK-eef0c8b3
21175 Bulk Product 01b5dd34 Home & Garden $554.41 261 4.5 50 BULK-6d52a72d
21176 Bulk Product 7e3c366e Electronics $498.01 424 2.8 7 BULK-7b0123c3
21177 Bulk Product 47ac3f9f Books $600.76 152 2.5 29 BULK-1ac2c85c
21178 Bulk Product 226a90e8 Toys & Games $539.09 365 0.4 88 BULK-48e2c88e
21179 Bulk Product f4c6d3d2 Books $630.20 323 0.4 72 BULK-90eb2fb8
21180 Bulk Product f6ad4a70 Toys & Games $634.46 60 2.6 72 BULK-d144ab9b
21181 Bulk Product dcd17a26 Toys & Games $349.33 403 2.4 38 BULK-d1c3fded
21182 Bulk Product 5ba78074 Books $113.78 184 1.6 94 BULK-c71e7bfd
21183 Bulk Product d4b4f90c Electronics $749.94 325 3.1 87 BULK-ed9578a3
21184 Bulk Product e66465ec Electronics $827.61 118 3.9 31 BULK-4f084fad
21185 Bulk Product db0afeea Toys & Games $623.40 334 0.5 68 BULK-9846ddea
21186 Bulk Product b7fbfdf9 Electronics $510.59 142 1.1 43 BULK-e2c883fa
21187 Bulk Product 17fc2805 Sports & Outdoors $1,004.17 314 4.4 52 BULK-3199eb46
21188 Bulk Product 60b5e217 Sports & Outdoors $182.23 385 3.2 79 BULK-3d793bad
21189 Bulk Product 273c7ff3 Home & Garden $105.18 379 1.4 5 BULK-c28f2018
21190 Bulk Product 20a02cd4 Books $730.85 420 2.2 34 BULK-260ef3a1
21191 Bulk Product 4692a802 Clothing $179.88 318 4.4 69 BULK-839a292f
21192 Bulk Product a72e4212 Electronics $628.43 51 1.7 58 BULK-8d89fa8c
21193 Bulk Product 73349663 Clothing $289.06 263 0.3 10 BULK-c34da662
21194 Bulk Product 9638dc75 Sports & Outdoors $654.84 326 4.6 68 BULK-fddfb91b
21195 Bulk Product 020e1bdf Toys & Games $53.49 335 4.8 47 BULK-3f25686c
21196 Bulk Product 9a76e29a Clothing $299.36 230 4.8 88 BULK-39da69b6
21197 Bulk Product 23c1d182 Toys & Games $414.33 368 0.1 19 BULK-266fff2d
21198 Bulk Product d6cbbdd6 Home & Garden $358.21 85 1.6 87 BULK-ebc50254
21199 Bulk Product 0cb01e99 Sports & Outdoors $62.56 445 4.2 84 BULK-d15d6ff8
21200 Bulk Product d9c992c5 Toys & Games $727.19 45 1.9 7 BULK-02e9e5e8
21201 Bulk Product 308bfc41 Home & Garden $118.48 345 0.2 14 BULK-8b2b52e3
21202 Bulk Product 31b77b6d Clothing $416.06 289 1.7 4 BULK-699a86e3
21203 Bulk Product 9872eb70 Home & Garden $523.54 122 1.9 30 BULK-10b388d7
21204 Bulk Product 9c726d65 Sports & Outdoors $587.40 266 4.1 98 BULK-6d6ffb68
21205 Bulk Product 5d1f806f Sports & Outdoors $791.70 133 3.6 94 BULK-75b9693b
21206 Bulk Product 00d7b1a4 Home & Garden $432.69 255 3.4 31 BULK-2e7c545d
21207 Bulk Product e8fa0e2d Clothing $910.68 220 4.2 71 BULK-f7fc584b
21208 Bulk Product 0c5a6779 Toys & Games $895.92 11 0.3 22 BULK-bffe87da
21209 Bulk Product 4dc64f80 Electronics $174.98 60 3.8 30 BULK-48e3126c
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