缩短查询运行时间
查询的运行时间取决于查询的复杂性、计划中的运算符数、数据量和投影设计。I/O 或 CPU 瓶颈可能导致查询运行速度低于预期。您通常可以使用更好的投影设计来纠正 CPU 使用率过高的问题。高 I/O 通常可以追溯到由溢出到磁盘的联接和排序引起的争用。但是,没有单一的解决方案可以解决所有导致高 CPU 或 I/O 使用率的查询。您必须单独分析和优化每个查询。
可通过两种方式评估运行缓慢的查询:
-
使用
EXPLAIN
预先修复查询以查看优化器的查询计划。 -
通过查询系统表
QUERY_CONSUMPTION
或执行_引擎_配置文件
检查执行配置文件。
检查查询计划会揭露以下一个或多个问题:
-
投影排序顺序不理想
-
对未排序或未编码的列进行谓词评估
-
使用
GROUPBY HASH
而非GROUPBY PIPE
分析
Vertica 提供的分析机制可帮助您评估不同级别的数据库性能。例如,可为单个语句、单个会话或所有节点上的所有会话收集分析数据。有关详细信息,请参阅对数据库性能执行分析。