我在 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。因此,撇开网络延迟不谈,这仍然是一个重要的时间间隔。
最佳答案
首先,您能提供pat_key和c_id的DDL吗?
其次,您运行的是 Infobright 企业版还是社区版?
第三,可以拉取bh.err日志吗?为此,请打开 Brighthouse.ini(在数据目录中),设置 ControlMessages=5,然后重新启动服务。然后,运行此查询。文件 bh.err 应包含有关此查询执行的大量信息。完成后,可以将其粘贴到此处吗?
最后,仅查看查询: 选择 pat_key, COUNT(c_id) 作为 thecnt 来 self 的事实表 按 pat_key 分组 按 Cnt DESC 排序 限制 50;
bh.err 会告诉我们更多信息!另外,您在此实例上将自己限制为 2 个核心;你可能有点处理器限制。我期待看到更多。
关于mysql - 信息布赖特查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19697969/