Какую пользу даёт async/await при выполнении запроса к базе данных?

async/await позволяет не занимать поток ожиданием ответа БД и обслуживать другие задачи, если драйвер действительно асинхронный. Сам SQL-запрос от этого не становится быстрее.

Короткий ответ

Что ответить на собеседовании

async/await позволяет не занимать поток ожиданием ответа БД и обслуживать другие задачи, если драйвер действительно асинхронный. Сам SQL-запрос от этого не становится быстрее.

Подробный разбор

Ответ с пояснениями

async/await позволяет не занимать поток ожиданием ответа БД и обслуживать другие задачи, если драйвер действительно асинхронный. Сам SQL-запрос от этого не становится быстрее.

Пока сеть или БД ждёт, event loop может выполнять другие coroutine. Синхронный драйвер внутри async def продолжит блокировать поток. Нужны ограничение конкурентности, корректный пул соединений и таймауты: бесконтрольный запуск запросов способен перегрузить БД. CPU-тяжёлая обработка результата тоже не ускоряется одним await.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее