日期:2014-05-17  浏览次数:20412 次

求where条件1=2的解释
select * from A from where 1=2

会对数据表所有记录扫描判断吗?还是编译器会对其优化,发现常量表达式1=2始终不成立就直接返回个包含架构信息的空表?求解释。。。

------解决方案--------------------
where 是比 select 要優先執行 所以不會對所有記錄掃描判斷.
------解决方案--------------------
不会扫描,where至判断里面是否为真,而1=2为假,所以不会返回数据。
------解决方案--------------------
先where 后select ,所以不会全表扫描的。
------解决方案--------------------
SQL执行计划是先执行where条件,where条件不成立,不会扫面全表。