Встречается на собеседованиях • сегодня

В чем разница между работой с ORM и SQL запросом

ORM (Object-Relational Mapping) и SQL — два подхода к работе с базами данных.

SQL — это язык запросов, который напрямую взаимодействует с БД. Он требует ручного написания запросов, но дает полный контроль над данными и оптимизацией.

ORM — это прослойка, которая преобразует объекты Python в SQL-запросы и обратно. Упрощает работу, но может скрывать детали и снижать производительность.

Пример с SQL:

python
cursor.execute("SELECT * FROM users WHERE age > %s", (18,))
users = cursor.fetchall()

Пример с ORM (SQLAlchemy):

python
users = session.query(User).filter(User.age > 18).all()

Плюсы ORM:

  • Удобство, меньше кода
  • Автоматическая защита от инъекций
  • Переносимость между СУБД

Минусы ORM:

  • Может генерировать неэффективные запросы
  • Ограниченный контроль над сложными запросами

Выбор зависит от задачи: ORM для простых операций, SQL — для сложных или высоконагруженных систем.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы