我想更好地了解如何在 hive 或 MySQL 中实现查询以优化它们以节省运行时。
假设我正在对键“name”的两个表执行 INNER JON 操作,并且我只想要 name 等于“random”的行
SELECT * from tbl1 JOIN tbl2 on tbl2.name = tbl1.name where tbl1.name = 'random';
现在在实现中,事件的顺序是什么: 1. 它是否在 tbl1 上过滤 name="random" 后跟一个 JOIN 操作?2. 是在表上加入然后根据name="random"过滤吗?
我认为选项 1 更好,因为我们将处理更少的 JOIN 数据并且它应该更快。专家有什么想法吗?
更新1:
如果我将查询修改为此,答案是否相同:
(SELECT * FROM tbl1 where tbl1.name='random) tbl1_1 JOIN tbl2 on tbl2.name=tbl1_1.name