LIMIT: не выгружай лишнего
LIMIT, маленькая команда с большим значением. Она ограничивает количество строк в результате.
Зачем нужен LIMIT
Таблица заказов может содержать 50 миллионов строк. Если написать SELECT * FROM orders без ограничения, база начнёт выгружать все 50 миллионов. Это:
- Займёт несколько минут
- Съест всю память браузера или BI-инструмента
- Положит базу если запросов несколько
LIMIT защищает от этого.
Синтаксис
SELECT *
FROM users
LIMIT 10;
Вернёт только первые 10 строк.
LIMIT + ORDER BY = смысл
Без сортировки LIMIT вернёт случайные строки, какие база "нашла первыми". Это непредсказуемо.
Почти всегда LIMIT используют вместе с ORDER BY:
-- Последние 5 заказов
SELECT *
FROM orders
ORDER BY created_at DESC
LIMIT 5;
-- Топ-10 самых дорогих товаров
SELECT name, price
FROM products
ORDER BY price DESC
LIMIT 10;
-- Самый молодой пользователь
SELECT name, age
FROM users
ORDER BY age ASC
LIMIT 1;
OFFSET, пропустить строки
Пагинация, классический кейс:
-- Страница 1 (строки 1-10)
SELECT * FROM products LIMIT 10 OFFSET 0;
-- Страница 2 (строки 11-20)
SELECT * FROM products LIMIT 10 OFFSET 10;
-- Страница 3 (строки 21-30)
SELECT * FROM products LIMIT 10 OFFSET 20;
Формула: OFFSET = (номер_страницы - 1) * размер_страницы
Первое что делать с незнакомой таблицей
-- Посмотреть структуру и примеры данных
SELECT * FROM some_table LIMIT 5;
-- Сколько всего записей?
SELECT COUNT(*) FROM some_table;
Эти два запроса, стандартное начало знакомства с любой новой таблицей.
💡 Главная мысль: Всегда используй LIMIT при первом знакомстве с таблицей. С большими данными это не осторожность, это необходимость.