0

我在 Infobright 中有一个包含大约 4000 万行的事实表。在该表上运行查询(如下所示)需要 10 多分钟。

SELECT pat_key,
   COUNT(c_id)
FROM my_fact_table
GROUP BY pat_key
ORDER BY COUNT(c_id) DESC
LIMIT 50;

Duration/Fetch = 334.528 sec / 0.094 sec

任何想法为什么以及如何调整这个?

顺便说一句,硬件规格是 AWS m1.large。所以抛开网络延迟不谈,这仍然是一个重要的时间间隔。

4

1 回答 1

1

首先,您能否提供专门针对 pat_key 和 c_id 的 DDL?

其次,您运行的是 Infobright Enterprise Edition 还是 Community Edition?

第三,能不能拉下bh.err日志?为此,请打开 brighthouse.ini(在您的数据目录中),设置 ControlMessages=5,然后重新启动服务。然后,运行此查询。文件 bh.err 应该包含很多关于执行这个查询的信息。完成后,您可以将其粘贴到此处。

最后,只看查询: SELECT pat_key, COUNT(c_id) as thecnt FROM my_fact_table GROUP BY pat_key ORDER BY thecnt DESC LIMIT 50;

bh.err 会告诉你更多!另外,您在此实例上将自己限制为 2 个核心;你可能有点处理器受限。我期待看到更多。

于 2013-11-01T19:09:36.523 回答