select * from big_table
where big_table_column1 > (select max(another_table_column1) from another_table)
and big_table_column1 < 100000000
如果 max(another_table_column1) 返回 200000000,那么应该没有要检索的行。
然后在SQL server 2008 R2 企业版上执行时,需要很长时间,似乎是从big_table 中检索数据。
但是在 Oracle 上执行它时,它马上就完成了。
似乎 SQL 服务器不会根据子查询的结果动态地进行优化,对吗?
谢谢。