1

我目前正在使用 TPC-H 表进行研究,并且正在尝试获取 NuoDB 中 3 个查询的运行时间:

  SELECT * FROM LINEITEM 
  SELECT * FROM LINEITEM WHERE L_PARTKEY BETWEEN 1 AND 80000 
  SELECT * FROM LINEITEM WHERE L_PARTKEY BETWEEN 1 AND 80000 OR L_PARTKEY 
  BETWEEN 100001 AND 200000

问题是每当我运行查询时,结果都会出现,但我猜数据库不会将所有数据存储在内存中,而是保持其连接打开(所以当我向下滚动数据结果时,它会刷新更多数据) . 因此,我无法检索查询运行时间。我尝试将MIN_QUERY_TIME设置为 1,这样它就会被SYSTEM.QUERYSTATS捕获,但它没有出现在那里(尽管我发现查询在SYSTEM.CONNECTIONS中打开,这就是为什么我认为数据库保持打开连接而不是存储在-记忆)。

是否有任何解决方案来获取所有数据(如全选)并获取查询运行时间?

有没有另一种方法可以得到我想念的这个?当我做

SELECT COUNT(*) FROM LINEITEM 

它确实有效,查询转到SYSTEM.QUERYSTATS。我认为这是因为数据库必须遍历所有行才能计数,因此查询完成,而当我执行

SELECT *  

它等到我“询问”更多数据。

我已经尝试了好几天,但我无法找到解决方案。我什至尝试了不同的 3rd 方工具,例如 DBVisualizer 和 SQL Workbench,但它们似乎没有给我预期的结果。

如果您能帮我一把或至少将这封电子邮件转发给可能会引导我找到可能解决方案的人,我将非常高兴。

非常感谢。

4

0 回答 0