> Оптимизация запросов — это уже «волшебное умение»?

Или мы просто сдались?

Работая с легаси и проводя рефакторинг, часто вижу, как впустую растрачиваются ресурсы инфраструктуры из-за плохого кода или незнания основ. Самое банальное — неоптимизированные запросы к БД, где тонны бесполезных данных гоняются туда-сюда в надежде, что ORM «как-нибудь справится», без малейшего понимания того, что происходит «под капотом».

В комментариях к моему прошлому посту прозвучал комментарий Анна Ракета , который меня одновременно и порадовал, и заставил задуматься:

> Слууушай, я не могу не восхитититься тем, что в наши времена кто-то (ты) оптимизирует запросы и нагрузку на инфру. Это прямо волшебное умение! А то поставила себе крошечное приложение и 1 Гб памяти сказал “пока” 😅

Мне безумно приятно слышать такую высокую оценку моего труда! Но «режет слух» сама посылка: *«в наши времена»*. Почему оптимизация стала экзотикой?

Синдром «Просто докупите сервер»

Оглядевшись, вижу пугающую тенденцию. Программы разрослись до невероятных размеров, а об экономии ресурсов думают в последнюю очередь.

Самый частый запрос, с которым ко мне приходят на консультации: «Нам тут сказали: нужно просто докупить ресурсов, и всё будет летать!»

Докупить-то можно. Только сколько продлится такой «полёт»? День? Месяц? А когда ресурсы снова упрутся в потолок, что тогда? Снова платить? Мне приходилось работать с проектами, где у хостинг-площадки банально заканчивались доступные тарифы для масштабирования, а сам проект был, мягко говоря, «не фонтан». Железо не резиновое, а плохой код масштабируется катастрофически.

Уроки из 90-х: от 1 CD до 4-х

Помню, в конце 90-х играл в Fallout. Сначала игра продавалась на одном CD. Потом версия расширилась до двух дисков. А *Fallout Tactics* в конце концов занимал уже 4 CD!

Да, часть этого можно списать на маркетинг и деньги (больше дисков = выше цена). Мы тогда в компании шутили по этому поводу, предсказывая: *«Скоро поставишь крошечное приложение, и 1 Гб памяти скажет “пока”»*.

Современные браузеры и тяжеловесные Electron-приложения — прямое тому подтверждение. ((%

Кто заставляет проекты жиреть?

Что происходит с проектами сейчас? Кто заставляет даже небольшие приложения тащить тонны npm-зависимостей, забывая, что оптимизация — это не пустой звук?

Думаю, причина в массовой вовлечённости людей в «программирование». Инструменты стали доступнее, появились «ремесленники», которые решают задачи массовостью и скоростью, а не качеством.

И да, нужно признать: эти услуги востребованы, потому что бизнесу это «прокатывает» здесь и сейчас. Заказчики платят за быстрый результат, закрывая глаза на технический долг. Но у всего есть границы. Однажды придётся принять решение: «переписать всё с нуля» или провести глубокий рефакторинг с пониманием существующей действительности. Тем более, что инструментов для этого сейчас масса (о чём писал ранее).

Ловушка ИИ и «врач из анекдота»

С другой стороны, повышать квалификацию таким «ремесленникам» необходимо как никогда. И здесь кроется новая ловушка: **Искусственный Интеллект**.

ИИ уже генерирует массу подобного «раздутого» кода. Если неумелые руки скармливают нейросетям плохие промпты, они получают тонны неоптимизированных решений, которые снова отжирают гигабайты памяти.

А ИИ, напомним, обучается на существующих данных. Происходит отбор решений. Не хотелось бы оказаться в ситуации из анекдота про ИИ-врача, который лечит не то, что нужно пациенту, а то, что статистически вероятнее для его алгоритма. (Кстати, в том же Fallout на этом построены гениальные каламбуры и сценки с роботами-медиками Auto-Doc).

Главный вывод

Давайте всё-таки уважать себя и своё время. Тратить его на образование, на понимание того, как работают наши инструменты, и на написание лучшего кода.

Создавайте себе меньше проблем в будущем, а не плодите их ради сиюминутной выгоды. Чистый код и оптимизация — это не магия. Это профессионализм.

#архитектура #размышления

«А как у вас с оптимизацией? Сталкивались с подходом «просто купите сервер помощнее» вместо рефакторинга? Делитесь в комментариях! 👇»


Оптимизация запросов — это уже «волшебное умение»?
 | Сетка — социальная сеть от hh.ru