Раздел 45 · Python backend: Тарбадель

Какой SQL пишет ORM: N+1, select_related и голый SQL

middle-senior~35 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Главная блога Моста открывается секунду. Постов двадцать, база лежит на соседнем верстаке, сервер ничем больше не занят. Кельса открывает страницу второй раз, третий: секунда.

В прошлом уроке ты строил запросы цепочками filter, annotate и Q, и ни разу не видел SQL, в который они превращаются. Пока запрос один, это удобно. Но ORM пишет SQL и там, где ты его не просил: на каждое post.author и каждое post.tags.all() в цикле. Сегодня ты научишься видеть каждый запрос, считать их, сводить ленту к двум запросам и писать SQL руками там, где ORM мешает его читать.

урок из курса

Урок из курса «Python backend: Тарбадель». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.