SELECT col1, col2, col3 FROM tab20 WHERE col1 in (SELECT DISTINCT myId FROM TabIds)
虽然TabIds是一个小的临时表,通常有3-6条记录,但这似乎是非常不方便的。我是否可以只做一次SELECT DISTINCT myId FROM TabIds,并将其分配给一种数组/列表/集(而不是另一个临时表),然后在WHERE子句中使用它,如果有这种方法,那么对于这样一个小的(3-6 recs)临时表来说真的重要吗?
我想确保我的概念是正确的:
在Hadoop the Definite中有这样的说法:“设计文件系统的目标总是减少寻道的数量,而不是要传输的数据量。”在这个声明中,作者指的是Hadoop逻辑块的“寻道()”,对吗?我在想,无论Hadoop块大小有多大(64MB或128MB或更大),底层文件系统(例如ext3/fat)必须执行的物理块(通常是4KB或8KB)的寻道数量将是相同的,无论Hadoop块大小如何。如果Hadoop数据块大小增加到128MB,则文件系统执行的寻道次数仍为128。在第二种情况下,Hadoop将执