2011-05-19 49 views
2

我在通过其query()函数在couchdb-python中使用ad-hoc JavaScript映射函数。有没有办法让查询需要处理?是否有一种方法可以使用couchdb-python获取针对CouchDB的临时查询的毫秒时间?

我试过对脚本进行计时,但是对我来说很明显我得到的时间不正确。如果我迭代query()函数返回的ViewResult并打印所有结果,我相信我会得到一个更接近实际的答案,但我不希望打印被包含在我的计时中。

任何人有任何想法?

非常感谢!

+0

我完全不熟悉couchdb接口,但是你看过'timeit'模块吗?也许这将有助于? – tMC 2011-05-19 20:23:07

+0

@tMC - 非常感谢您的建议,但我担心它不会做到这一点。问题是,我似乎不得不对ViewResult做些什么,以便有时间去衡量。在pymongo(用于MongoDB)中,我可以执行explain()['millis']来获取毫秒数,而不必遍历结果集。 到目前为止,我所提出的最佳解决方案是遍历ViewResult并在循环中执行_pass_,但这不是非常漂亮,我真的想避免迭代。 – Robin 2011-05-19 20:45:21

回答

0

这是我在我的应用程序中记录时间的方法。

from datetime import * 

lastTime = datetime.now() 
dosomestuff() 
pollTime = datetime.now() 

diff = pollTime - lastTime 
print diff.total_seconds() 
#or if not python2.7 (td.microseconds + (td.seconds + td.days * 24 * 3600) * 10**6)/10**6 
0

使用view()函数在数据库中运行永久视图。它更高效。在很多情况下,临时可能会非常昂贵。

相关问题