Con*_*ion 19 mysql django postgresql asynchronous nonblocking
我的网页需要10到20个数据库查询才能获得所有必需的数据.
通常在发出查询后,Django线程/进程被阻塞,等待结果返回,然后它将继续执行,直到它到达下一个查询.
有没有办法异步发出所有查询,以便它们可以由数据库服务器并行处理?
我正在使用MySQL,但也希望了解其他数据库的解决方案.例如,我听说Postgresql有一个异步客户端库 - 在这种情况下如何使用它?
这篇最近的博客文章似乎暗示它不是内置于django或rails框架.我认为它很好地涵盖了这个问题,非常值得一读.
http://www.eflorenzano.com/blog/post/how-do-we-kick-our-synchronous-addiction/ (断链)
我想我记得Cal Henderson在他的精彩演讲中提到了这个缺点http://www.youtube.com/watch?v=i6Fr65PFqfk
我天真的猜测是你可能能够使用单独的python库破解一些东西,但是你会失去很多ORM /模板懒惰评估的东西,django给你的点,你可能也在使用另一个堆栈.如果你只是在一个大型django项目中优化一些视图,那么它可能会很好.