在学SQL SERVER 2000,有几个效率上的问题,首先说一下数据库,我随便建立了一个,填充了20W一样的数据,除了ID不一样,每个字段都是varchar(500)1.关键字EXISTS效率怎么那么高的?select 'test' where exists(select a1 from tba where id=3)这句,瞬间就出来了,而select a1 from tba where id=3就需要14秒,这是怎么回事?EXISTS后面的语句不是一样的吗?2.就是这句select a1 from tba where id=3了,我的电脑是DELL的E521,不算好也不算烂,执行这句语句要8-14秒左右,用存储过程也差不多,感觉有点太慢了,怎么回事?我用access好像也没这么慢啊?有没有比较有效的增加速度的方法呢?
优化器知道EXISTS谓词不需要引用行的特定属性。它只关心行是否存在。
因此,它会完全忽略SELECT列表。