Django缓慢的原因

时间:2014-07-24 15:25:52

标签: python database django performance

这只是好奇心的问题。我有一个脚本加载特定的查询集而不评估它,然后我打印count()。我知道计数必须经历,这取决于它可能需要一些时间的大小,但是超过一分钟返回0作为空查询集的计数为什么这需要这么长时间?是Django还是我的服务器?

注释:

查询集都是一种类型。

1 个答案:

答案 0 :(得分:3)

这一切都取决于您正在运行的查询。如果你在一个有十行的表上运行SELECT COUNT(*) FROM foo,它会非常快;但是如果你的查询涉及十几个连接,子选择,未索引行的过滤器 - 或者如果目标表只有很多行 - 查询可能需要任意的时间。很可能,瓶颈不是Django(虽然它的ORM有一些怪癖),而是数据库和你的查询。仅仅因为没有符合条件的行并不意味着数据库不需要处理表中的其他行。