由于 django 3.0 支持异步,我想知道数据库查询会发生什么。我在官方文档中看不到任何更新,我确信语法如下:
b5.name = 'New name'
b5.save()
将完全阻塞当前线程,哪个事件循环正在运行它。如果数据库在 20 秒内返回响应,则在此期间不会处理其他请求,这很糟糕。
让我想知道的另一件事:异步仅使用 1 个线程(如果我们至少不等待线程执行器中的东西)。这是事实:一个原子(数据库)请求绑定到数据库的连接,该连接绑定到线程局部变量。这意味着所有请求都将在单个线程中运行 = 所有请求都将具有相同的事务。