站长之家 - 教程 2013-04-26 10:31

数据库:django ORM如何处理N+1查询

《数据库:django ORM如何处理N+1查询》文章已经归档,站长之家不再展示相关内容,下文是站长之家的自动化写作机器人,通过算法提取的文章重点内容。这只AI还很年轻,欢迎联系我们帮它成长:

数据库N+1查询是个常见的问题,简单描述场景如下...

所以N+1问题其实应该叫做1+N问题,这只是一个数据库设计模式的问题.但是会对数据库带来很大的压力,一个简单的列表页可能会有几百次数据库查询...

N+1问题并不是ORM独有,只是使用orm的时候,数据库表中的行变成一个对象,于是很自然的就容易使用上面的方法来进行查询不使用orm进行编程的情况,一般直接用子查询或者innerjoin...

数据库反范式设计,说直白点,就是把表合并,设计成冗余表,这可能会带来两个问题...

加缓存把整个列表页加上缓存.这样无论是继续执行1+N次查询,还是用innerjoin1次查询搞定,都可以...

数据库本身处理不了高并发,因为我们只能保证单个数据项的操作是原子的,而数据库的查询是以列表为基本单元,这是个天然矛盾,无解...

......

本文由站长之家用户“lutaf.com”投稿,本平台仅提供信息索引服务。由于内容发布时间超过平台更新维护时间,为了保证文章信息的及时性,内容观点的准确性,平台将不提供完整的内容展现,本页面内容仅为平台搜索索引使用。需阅读完整内容的用户,请联系作者获取原文。

推荐关键词

24小时热搜

查看更多内容

大家正在看