首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django很多很多性能问题

Django很多很多性能问题
EN

Stack Overflow用户
提问于 2015-04-09 15:51:05
回答 1查看 129关注 0票数 1

我分析了一段处理350行excel电子表格的代码,它大约有200行长。75.5%的时间花在这许多电话上:

代码语言:javascript
复制
332       388    117059833 301700.6     75.5                      if obj.wave not in c.waves.all():

剩下的大部分是:

代码语言:javascript
复制
136        97       341749   3523.2      0.2                      q.waves.add(obj.wave)
137        97     30551176 314960.6     19.7                      q.save()

波是一个模型,obj有一个外键域对波。

代码语言:javascript
复制
wave = models.ForeignKey(Wave)

Q有一个多到多个场来波

代码语言:javascript
复制
waves = models.ManyToManyField(Wave)

我已经查过了很多桌的号码,每个字段都有一把钥匙。我把它从ISAM改为Innodb,没有区别。

在我重写代码之前,我还能做些什么来提高性能--目前每行花费20秒,并在一个2核心linux盒上使用所有的CPU --在重写代码之前,我可以去掉许多结构吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-09 15:59:57

如果有这么多的in记录,您可以将查询简化为:

if not c.waves.filter(id__exact=obj.wave.id).exists(): pass # do something

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29543234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档