2015-01-26 49 views
1

我需要測量MonetDB返回所有相關數據以響應查詢所花費的時間。根據我的研究,我發現了幾個可能的解決方案:將查詢發送通過命令行來移動客戶端時在MonetDB中測量處理時間

  1. 措施掛鐘時間(例如,「時間移動客戶端-s [查詢]」)。但是這涉及加載和啓動mclient的開銷。
  2. 在交互模式下使用計時器。但是,從我的理解來看,這隻給了我從服務器收到查詢並返回第一個數據塊的時間。
  3. 使用Trace命令。但使用trace的測量顯然具有很高的開銷。

有沒有一種方法可以測量從查詢到達服務器到返回「最後」相關數據塊的時間?

謝謝!

+1

爲什麼不使用'select now();'?例如'select now(); YOUR_SQLQUERY; select now();'然後你知道開始和結束時間。 – yishaiz 2015-01-27 12:09:58

+0

謝謝!是的,這肯定會起作用。對不起,我缺少SQL知識:-( – 2015-01-28 15:57:21

+1

我總是使用/ usr/bin/time mclient ....,例如'/ usr/bin/time mclient somedb -s「select 1」',這需要0.00秒,所以開銷是有限的,但是如果你的查詢在毫秒級範圍內,這當然是不夠準確的 – 2015-01-29 07:43:57

回答

1

使用

select now(); 
YOUR_SQL_QUERY; 
select now(); 

,現在你知道的開始和結束時間。