Efficient Pagination with Skip/Take

Efficient pagination using OFFSET-FETCH on SQL Server.

Execution Time

10 ms

Page Size

25

Current Page

148 / 978

Total Records

24441

Items per page: 25 50 100 200

Page 148 Results Showing 3676 - 3700 of 24441

ID Name Category Price Stock Rating Reviews SKU
4136 Ultra Clothing Product XL Clothing $396.87 358 1.1 352 SKU-004136
4137 Economy Health & Beauty Product Mini Health & Beauty $541.98 360 2.6 21 SKU-004137
4139 Economy Electronics Product Plus Electronics $975.44 178 1.8 261 SKU-004139
4141 Standard Home & Garden Product Plus Home & Garden $677.52 195 1.4 719 SKU-004141
4143 Standard Books Product Mini Books $288.88 95 3.6 988 SKU-004143
4144 Pro Automotive Product XL Automotive $713.15 339 1.8 346 SKU-004144
4145 Elite Sports & Outdoors Product 2024 Sports & Outdoors $870.62 466 3.6 839 SKU-004145
4146 Professional Food & Grocery Product 2024 Food & Grocery $215.83 355 1.9 402 SKU-004146
4148 Deluxe Electronics Product Mini Electronics $946.31 247 1.0 660 SKU-004148
4149 Elite Home & Garden Product Pro Home & Garden $973.12 243 4.3 525 SKU-004149
4150 Elite Books Product Classic Books $422.84 24 3.1 605 SKU-004150
4151 Deluxe Health & Beauty Product Advanced Health & Beauty $566.12 488 2.6 342 SKU-004151
4152 Economy Electronics Product Special Edition Electronics $274.17 196 4.0 691 SKU-004152
4153 Ultra Books Product Advanced Books $131.76 51 4.2 11 SKU-004153
4154 Mega Books Product Lite Books $646.15 421 2.9 952 SKU-004154
4155 Ultra Home & Garden Product 2024 Home & Garden $167.26 213 3.8 272 SKU-004155
4156 Economy Clothing Product XL Clothing $482.05 131 2.4 431 SKU-004156
4157 Mega Home & Garden Product Plus Home & Garden $177.67 426 4.8 909 SKU-004157
4158 Standard Clothing Product Plus Clothing $341.16 18 3.6 481 SKU-004158
4159 Super Clothing Product Advanced Clothing $907.68 121 3.8 460 SKU-004159
4160 Pro Office Supplies Product Pro Office Supplies $12.52 133 3.1 229 SKU-004160
4162 Standard Health & Beauty Product Max Health & Beauty $939.97 53 3.2 779 SKU-004162
4164 Deluxe Sports & Outdoors Product XL Sports & Outdoors $935.52 115 3.0 914 SKU-004164
4165 Professional Home & Garden Product Max Home & Garden $988.88 344 1.0 398 SKU-004165
4166 Professional Books Product Lite Books $37.93 31 2.6 576 SKU-004166
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