ИЛИ дает лучшую производительность, чем IN для запросов HIVE - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть два следующих запроса в Hive, чтобы получить какой-то конкретный результат.

select * from table1 where col1 IN (a, b, c)
select * from table1 where col1=a OR col1=b OR col1=c

Согласно моему пониманию IN будет внутренне преобразован в последовательность ИЛИ s.Выполнен локально в spark-sql, но не обнаружил каких-либо различий в производительности (например, время выполнения, сканирование отфильтрованных данных и т. Д.).Так какую разницу мы можем видеть в IN и OR в зависимости от функциональности.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 20 ноября 2018
Col1 in (a,b,c) is a macro that expands to Col1=a or Col1=b or Col1=c.

Нет разницы в производительности

...