仅从一个表中进行选择的子查询有什么好处?

时间:2019-07-01 19:16:50

标签: hive hiveql database-performance

我正在使用一些旧版HiveQL。我将组成一个大致相同的示例,但要简单得多:

CREATE TABLE IF NOT EXISTS output_table
STORED AS [...]
AS
SELECT cust.*,
 ord.id,
 ord.amount
FROM
 Customer cust
 LEFT JOIN (SELECT id, date, amount FROM Order) as ord

我被告知子查询的基本原理是Order具有大量的行和列,因此不必扫描所有列就可以提高性能。根据传统的RDBMS经验,这对我来说似乎违反直觉。我希望子查询比连接整个表更昂贵,因为看起来未使用的列似乎不应该影响性能。

(实际的QL大约有55行,有大约5或6个连接。被连接的表大约有4.5亿行和61列。我不确定索引;我找到后将更新此问题该信息。)

0 个答案:

没有答案