---
title: "limit() - не завантажувати непотрібне"
url: https://laravelukraine.com/blog/limit-ne-zavantazuvati-nepotribne
date: 2026-03-23
---

# limit() - не завантажувати непотрібне

При завантаженні 50,000 записів для показу 10 на екрані.

Додаток зависає. Серверу бракує пам'яті.
Користувач закриває браузер через 30 секунд.

**Проблема:**

Без limit(), Eloquent завантажує все в пам'ять.
Пагінація допомагає, але все одно потрібен limit() в багатьох випадках.

**Коли використовувати:**

- Попередні перегляди та зразки
- Останні N елементів
- Топ виконавці
- Будь-який сценарій "показати перші декілька"

Порада: Поєднуй з orderBy() для консистентних результатів.
Без сортування limit() повертає випадкову підмножину.

```php
// ПОГАНО: Завантажує все
$products = Product::where('active', true)->get();
// Повертає 50,000 продуктів в пам'яті

// ДОБРЕ: Тільки те що потрібно
$featured = Product::where('featured', true)
    ->orderBy('created_at', 'desc')
    ->limit(5)
    ->get();

// Останні 10 замовлень
$recent = Order::latest()->limit(10)->get();

// Топ 3 користувачі за балами
$leaders = User::orderBy('points', 'desc')->limit(3)->get();

// Попередній перегляд дашборду
$stats = [
    'recent_orders' => Order::latest()->limit(5)->get(),
    'top_products' => Product::orderBy('sales', 'desc')
        ->limit(10)->get(),
    'new_users' => User::latest()->limit(20)->get(),
];

// Без orderBy - непередбачувані результати
$random = Post::limit(5)->get(); // ПОГАНО
$latest = Post::latest()->limit(5)->get(); // ДОБРЕ
```
