Неожиданно для себя столкнулся с проблемой на ровном месте. Много лет для работы с данными использовал средства фреймворка. По сути – DTO и модели. Один ряд в таблице – одна запись, одна модель/объект. И по многим канонам все манипуляции проводились именно с объектами (по фильтру вытащить много инстансов и уже на уровне фреймворка посчитать что-то). А после вычислений объекты часто в топку. И это было всем нормально, ибо оптимизации часто перекрываются железом, а время компетентного специалиста зачастую не выгодно бизнесу. Так вот в очередной убеждаюсь, что если перефразировать одну поговорку:
На фреймворк надейся, а сам не плошай!
За видимым удобством, не стоит забывать развиваться или хотя бы поддерживать форму в своих знаниях. Очень много крутых вещей можно делать непосредственно через сырые SQL запросы хоть даже в SQLite3, не говоря о чём-то продвинутом типа PostgreSQL или всякие Oracle. И в итоге сразу готовить модель (данные) под презентацию, если это можно вынести на уровень SQL.
И эта заметка не только про SQL. Данное относится ко всему в жизни. Ведь так легко уйти в забвение с каким-то упрощателем жизни, что забыть и разучиться делать что-то руками и делать это весьма оптимально под конкретную цель. Вроде примитивно и просто, а вот поймал себя на этом.