我有以下表格架构
Select count(*) from hive_database.hive_table;
我正在使用以下查询来对数据执行聚合
CREATE TABLE dummy (
id1 INTEGER NOT NULL,
id2 DATE NOT NULL,
id3 INTEGER,
val1 DOUBLE PRECISION,
val2 DOUBLE PRECISION,
);
因为 count(DISTINCT(id1,id2))表达式在select子句中出现两次会被计算两次吗?
表的大小> 10百万。
以下查询的表现会比之前的表现好吗?
SELECT sum(val1)/count(DISTINCT(id1, id2)), sum(val2)/count(DISTINCT(id1, id2))
FROM dummmy
WHERE id1 IN (....) AND id2 IN (....)
GROUP BY id3;
我正在使用postgresql-9.6
感谢您的期待!
答案 0 :(得分:0)
第二个查询的性能将优于或等于第一个查询的性能,因为每个表达式只会被评估一次,但我不知道差异是否显着。
您应该使用EXPLAIN
测试并检查执行计划。