我们正在使用包含 500 列和 100 000 行的 Vertica 8.1 表。
即使在 Vertica 集群节点之一上直接使用 vsql 客户端(以消除任何网络延迟问题),执行以下查询也需要大约 1.5 秒:
SELECT COUNT(*) FROM MY_TABLE WHERE COL_132 IS NOT NULL and COL_26 = 'anotherValue'
但是在查询query_requests表时,request_duration_ms只有98ms,resource_acquisitions表没有显示资源获取有任何延迟。我不明白剩下的时间都花在哪里了。
如果我然后仅将查询使用的列导出到新表,并在这个新的、较小的表上运行查询,我会得到极快的响应,即使 query_requests 表仍然告诉我 request_duration_ms 大约是 98 毫秒。
所以看起来表中的列数会影响查询的执行时间,即使这些列中的大多数都没有被引用。我错了吗 ?如果是这样,为什么会这样?
提前致谢
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句