SA Шпаргалка

Все ответы в 2 клика

Базовый

Почему использование SELECT * считается плохой практикой (Антипаттерном)?

Писать SELECT * FROM users в Production-коде нельзя по нескольким причинам:

1. Лишний сетевой трафик и RAM: Вы тянете из БД 50 колонок (включая тяжелые тексты или бинарники), хотя в коде используете только id и name.
2. Поломка индексов: СУБД не сможет использовать Покрывающий индекс (Index Only Scan), так как ей придется идти на диск за всеми остальными колонками.
3. Хрупкость контракта: Если DBA добавит в таблицу новую колонку, ваш ORM или маппер может упасть с ошибкой, так как структура ответа неожиданно изменилась.

✅ Правило: Всегда явно перечисляйте нужные колонки: SELECT id, name FROM users.

Другие вопросы темы «Оптимизация SQL»

Ещё вопросы раздела «SQL и БД»

Все вопросы раздела «SQL и БД»