Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

15 ms

Page Size

50

Current Page

92 / 489

Total Records

24441

Items per page: 25 50 100 200

Page 92 Results Showing 4551 - 4600 of 24441

ID Name Category Price Stock Rating Reviews SKU
5110 Bulk Product e7de9dc8 Electronics $733.60 185 3.0 45 BULK-b2890f54
5111 Bulk Product 0c7be32f Toys & Games $563.10 425 3.7 8 BULK-809e4ad2
5112 Bulk Product dc64fd76 Books $255.20 199 2.9 26 BULK-47518684
5113 Bulk Product 73221d5b Clothing $76.80 134 0.9 69 BULK-6db98f13
5114 Bulk Product dea17980 Electronics $914.02 498 0.7 7 BULK-6f6d5b42
5115 Bulk Product 8478f85f Books $758.21 96 1.6 31 BULK-40afcd3d
5116 Bulk Product 7263edc8 Home & Garden $482.34 441 1.4 1 BULK-2062613f
5117 Bulk Product d0c47148 Electronics $636.09 354 2.5 10 BULK-7da42299
5118 Bulk Product 24b6d147 Books $754.88 70 1.5 81 BULK-1ca7b9fa
5119 Bulk Product 7c7ab969 Home & Garden $363.66 136 4.8 80 BULK-34f3587a
5120 Bulk Product 2208ed41 Clothing $691.91 394 3.8 41 BULK-ba9b371a
5121 Bulk Product 710d29a6 Toys & Games $842.94 182 3.9 64 BULK-86789583
5122 Bulk Product 85597fec Sports & Outdoors $185.28 201 1.2 54 BULK-024661a9
5123 Bulk Product 07ef15d0 Sports & Outdoors $53.88 108 2.7 82 BULK-e79c7ba9
5124 Bulk Product e1761ae2 Home & Garden $894.89 73 3.5 92 BULK-67bc6cab
5125 Bulk Product 8556b7cf Clothing $256.57 224 1.7 39 BULK-6ccb253a
5126 Bulk Product 2f5c7560 Sports & Outdoors $673.69 324 3.9 64 BULK-c87b7ae6
5127 Bulk Product f112660e Toys & Games $572.24 446 0.1 13 BULK-ae392109
5128 Bulk Product a30a2598 Electronics $224.36 430 0.4 95 BULK-585f04f4
5129 Bulk Product e4bc9ddf Sports & Outdoors $728.47 105 1.7 35 BULK-8a2cd1dd
5130 Bulk Product c7f7e114 Books $485.03 283 0.1 96 BULK-d912af72
5131 Bulk Product 3bdb29a0 Home & Garden $729.14 438 2.9 61 BULK-8b9851e8
5132 Bulk Product e579549b Books $852.37 401 2.7 72 BULK-5ef3ad4b
5133 Bulk Product 9935dd0a Home & Garden $399.77 378 0.5 86 BULK-a1298850
5134 Bulk Product 3fa5ca84 Books $134.18 55 4.7 61 BULK-398227ed
5135 Bulk Product 057a5bd8 Toys & Games $484.17 390 3.4 33 BULK-58d5677b
5136 Bulk Product 19c72f8c Clothing $679.59 114 3.5 43 BULK-62539efc
5137 Bulk Product 1cab2e66 Toys & Games $1,007.98 167 3.3 32 BULK-ae4b1535
5138 Bulk Product d588f9f1 Sports & Outdoors $297.83 493 4.8 10 BULK-3a304542
5139 Bulk Product ea539eb5 Sports & Outdoors $845.06 50 1.7 21 BULK-55659b39
5140 Bulk Product 9e82d362 Toys & Games $532.23 91 0.2 86 BULK-c720232d
5141 Bulk Product 54f8992e Sports & Outdoors $453.33 82 4.7 31 BULK-b7aa815e
5142 Bulk Product 5e7c45b1 Home & Garden $27.70 193 4.7 14 BULK-04933536
5143 Bulk Product 773d36b7 Toys & Games $549.89 178 0.7 16 BULK-1c3252d7
5144 Bulk Product e7a4f333 Books $341.32 297 3.6 75 BULK-074ebb40
5145 Bulk Product 2028d063 Electronics $594.51 49 1.0 12 BULK-cf59f5aa
5146 Bulk Product 75c3a52e Clothing $381.73 379 0.5 98 BULK-ad5216bc
5147 Bulk Product c6d64914 Home & Garden $202.49 268 1.9 70 BULK-647f162c
5148 Bulk Product ecff3d8d Books $751.19 366 2.9 71 BULK-cc6a0188
5149 Bulk Product 7dd79f9f Toys & Games $888.75 165 4.2 98 BULK-2441054d
5150 Bulk Product bb66492f Clothing $788.72 96 0.9 55 BULK-8dcf493a
5151 Bulk Product 1068bdcb Toys & Games $1,007.19 112 1.1 85 BULK-bcb897ae
5152 Bulk Product f7839fda Electronics $296.33 134 2.0 27 BULK-e0adc3fc
5153 Bulk Product 673c135e Home & Garden $85.30 245 0.1 79 BULK-f48c4e74
5154 Bulk Product 99b0bb30 Sports & Outdoors $483.51 168 0.5 31 BULK-d85a2f5a
5155 Bulk Product ec27ff8d Electronics $897.73 352 1.3 36 BULK-6d065fc5
5156 Bulk Product 3734eca1 Toys & Games $387.05 126 4.9 9 BULK-5a0f222b
5157 Bulk Product 5286e963 Clothing $628.25 327 2.1 2 BULK-214257db
5158 Bulk Product 164cd9b4 Sports & Outdoors $392.96 60 5.0 60 BULK-ef942b4a
5159 Bulk Product 09b9e86c Electronics $286.29 433 3.3 45 BULK-7f4ef970
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