发布:阿里云代理凯铧互联
考试题258:select_related('外键字段[__外键字段]') 和 prefetch_related('外键字段[__外键字段]')的区别?
相同点:它俩都用于连表查询,缓存查询结果,减少SQL查询次数。
# 不同点:
select_related 主要针对一对一和一对多关系进行优化。通过多表join关联查询,一次性获得所有数据,缓存在内存中,但如果关联的表太多,会严重影响数据库性能。
prefetch_related 主要针对多对多关系进行优化。通过分表,先获取各个表的数据,缓存在内存中,然后通过Python处理他们之间的关联。
声明:本栏目所有内容均由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:sales@alibjyun.com进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。