簡體   English   中英

在Virtuoso服務上使用Jena的SPARQL查詢執行時間

[英]SPARQL Query Execution time using Jena on a Virtuoso service

所以我正在使用Virtuoso SPARQL端點,並且正在使用Jena對其進行查詢。 我使用QueryFactoryQueryExecution創建SPARQL查詢:

    Query query = QueryFactory.create(sparqlQueryString1);
    QueryExecution qexec = QueryExecutionFactory.sparqlService("http://localhost:8890/sparql", query);
    ResultSet results = qexec.execSelect();

現在,我想計算運行此查詢所花費的時間。 如何在Virtuoso上使用耶拿找​​到這樣的時間? 那可能嗎? 顯然,我確實查看過諸如getTimeOut1()getTimeOut2()類的函數。 他們似乎沒有給我任何好的指導。 作為黑客,我嘗試使用Java的內置System.currentTimeMillis() ,但是我不確定這是否正確。 關於如何找到執行時間的任何指示將不勝感激!

結果以流的形式返回,因此計時需要從qexec.execSelect()之前到應用程序完成處理結果之后的時間范圍內,而不僅僅是調用execSelect

Timer timer = new Timer() ;
timer.startTimer() ;
ResultSet results = qexec.execSelect();
ResultSetFormatter.consume(results) ;
long x = timer.finishTimer() ;   // Time in milliseconds.

目前尚不清楚您是要安排整個往返行程的時間,還是只是維塔索索在事情上花費的時間...

Virtuoso 7使您可以使用profile功能獲得查詢的編譯(查詢計划)和執行時間。

您還可以使用prof_enable函數啟用常規查詢日志記錄和性能分析。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM