最快的选择选择 *在不为空的地方



我想知道获取所有非零行的最快方法是什么。我想到了这些:

SELECT * FROM table WHERE column IS NOT NULL
SELECT * FROM table WHERE column = column
SELECT * FROM table WHERE column LIKE '%'

(我不知道如何测量SQL和/或Hive中的执行时间,并且通过在PGADMIN中反复尝试在4M线表中,我没有明显的区别。)

在Hive上运行这些查询时,您永远不会注意到性能差异,因为这些操作非常简单,并且在并行运行的映射器上运行。

初始化/启动映射器比这些查询的执行时间可能差异要多得多,并且在总执行时间中增加了很多启发式信息,因为映射器可能正在等待资源并且根本不运行。

但是您可以尝试测量时间,请参阅有关如何测量执行时间的答案:https://stackoverflow.com/a/444872319/2700344

SELECT * FROM table WHERE column IS NOT NULL尽管所有查询都正确。

相关内容

  • 没有找到相关文章

最新更新