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