【发布时间】:2013-07-18 07:44:06
【问题描述】:
我正在尝试对几个不同查询的速度进行基准测试,这些查询在带有 Postgres 的 Django 1.4 上返回相同的内容。不幸的是,如果我使用:
import logging
l = logging.getLogger('django.db.backends')
l.setLevel(logging.DEBUG)
l.addHandler(logging.StreamHandler())
两个等效或相似的查询,最终被推迟到查询缓存中。有什么方法可以清除此缓存或有更好的方法来比较两个查询的速度?
【问题讨论】:
-
我也非常想知道。 +1
-
为什么不安装django-debug-toolbar
-
已经安装了 django-debug-toolbar,但它在很多情况下都不起作用(即 AJAX 请求),并且在基准查询方面效率不高,因为我需要将它们加载到视图中并手动测试。此外,如果您运行两个相同的查询,由于它被缓存,第二个查询的时间会大大缩短。
-
你不应该对 ajax 请求进行计时,因为它们本质上是异步的。不过,在 python 中使用 timeit 模块可以帮助您计算视图的执行时间。
标签: python django postgresql