社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  moshfiqrony  »  全部回复
回复总数  1
4 年前
回复了 moshfiqrony 创建的主题 » 在一个查询集上多次获取或筛选id__,在django中哪个更有效?

如果我们想衡量效率,那么我们必须首先考虑查询。因为两者都在做列表理解,而我们与之无关。

现在如果我们来到 queryset.filter 和 queryset.get 并尝试理解等效的SQL查询。

  • SQL查询计数:用于 filter 只有一个查询,但对于 get 会有的 n 查询次数。即使 N 是2, 滤器 它的效率比 收到 .
  • 执行效率:这个也依赖于SQL查询。因为作为 收到 实现称它将创建查询并每次执行。但是 滤器 将创建一个查询并执行一次。跨国执行(对数据库进行查询)总是比在代码中执行慢。

您可以看到 queryset。滤器 通过打印 query 它的属性。

我想 滤器 它的效率比 收到 在这种情况下。