2011-05-19 27 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()函數在數據庫中運行永久視圖。它更高效。在很多情況下,臨時可能會非常昂貴。

相關問題