LINUX.ORG.RU

История изменений

Исправление WitcherGeralt, (текущая версия) :

Я с тобой согласен, дополню только.

Когда предпочтителен голый SQL

Запрос даже не обязательно должен быть сложным. Это может быть не особенно параметризованная агрегация данных, результат которой ты не будешь мапить на объект, либо ты получаешь просто какое-нибудь единичное значение, например максимальную версию данных, или что-нибудь ещё в этом роде. Построение такого запроса на месте не будет нести никакой смысловой нагрузки, лишь создаст визуальный шум, в функцию это выносить смысла тоже скорее всего нет, лучше просто написать нормальный SQL и убрать в отдельный файлик. В коде вместо простыни запроса это будет выглядеть как-то наподобие этого:

result = db.query('avg_some_shit', {'date': date})

Когда ни в коем случае не нужно писать голый SQL (при наличии ORM в проекте)

  • Bulk insert.
  • Апдейты — ибо лучше наглядно показать, что будет обновляться прямо в коде, а не где-то ещё.
  • Запросы для выборок.

Исправление WitcherGeralt, :

Я с тобой согласен дополню только.

Когда предпочтителен голый SQL

Запрос даже не обязательно должен быть сложным. Это может быть не особенно параметризованная агрегация данных, результат которой ты не будешь мапить на объект, либо ты получаешь просто какое-нибудь единичное значение, например максимальную версию данных, или что-нибудь ещё в этом роде. Построение такого запроса на месте не будет нести никакой смысловой нагрузки, лишь создаст визуальный шум, в функцию это выносить смысла тоже скорее всего нет, лучше просто написать нормальный SQL и убрать в отдельный файлик. В коде вместо простыни запроса это будет выглядеть как-то наподобие этого:

result = db.query('avg_some_shit', {'date': date})

Когда ни в коем случае не нужно писать голый SQL (при наличии ORM в проекте)

  • Bulk insert.
  • Апдейты — ибо лучше наглядно показать, что будет обновляться прямо в коде, а не где-то ещё.
  • Запросы для выборок.

Исходная версия WitcherGeralt, :

Я с тобой согласен дополню только.

Когда предпочтителен голый SQL

Запрос даже не обязательно должен быть сложным. Это может быть не особенно параметризованная агрегация данных, результат которой ты не будешь мапить на объект, либо ты получаешь просто какое-нибудь единичное значение, например максимальную версию данных, или что-нибудь ещё в этом роде. Построение такого запроса на месте не будет нести никакой смысловой нагрузки, лишь создаст визуальный шум, в функцию это выносить смысла тоже скорее всего нет, лучше просто написать нормальный SQL и убрать в отдельный файлик. В коде вместо простыни запроса это будет выглядеть как-то наподобие этого:

result = db.query('avg_some_shit', {'date': date})