Amazon Redshift中的EXISTS与IN的关系

时间:2018-06-11 14:29:32

标签: sql amazon-redshift

我在Amazon Redshift中对同一查询的两个版本运行EXPLAIN:

SELECT t1.column
FROM table1 t1
WHERE t1.column IN
(SELECT t2.column FROM table2 t2);

SELECT t1.column
FROM table1 t1
WHERE EXISTS
(SELECT 1 FROM table2 t2 WHERE t1.column = t2.column );

他们似乎有相同的查询计划。这是否意味着IN和WHERE EXISTS之间没有性能差异,因为Redshift在编译查询之前以某种方式优化了SQL输入?

1 个答案:

答案 0 :(得分:0)

如果两个查询具有相同的计划,则 Redshift 可能会在后面重写它以优化其中一个或两个语句。