【发布时间】:2012-07-27 13:17:39
【问题描述】:
我正在 Vertica 数据库(在单个节点上运行)中执行如下所示的 SQL,该表具有大约 2.58 亿行。
我在 SQuirrel SQL 中大约 17 秒得到输出,但在命令行模式下在 vsql 中获得相同查询的输出需要几分钟。
select avg(item_chr_val_id) from table1
知道吗,vsql 中这种缓慢的原因可能是什么?
【问题讨论】:
-
我怀疑执行的查询有所不同。解释计划中是否存在差异?
vertica.log在每次执行期间显示什么?执行的 ACTUAL 查询是否存在差异(从日志中可以看出)?每个返回的记录数是否相同?如果将每个查询包装在SELECT COUNT(*) (<QUERY GOES HERE>)t;中,性能如何比较? Vertica 不需要具体化可能会消除大量磁盘 IO 的记录。