1 select count(1) from table 2 select count(*) from table 3 4 select count(name) from table //name为索引 5 select count(name) from table //name不是索引
以上4条语句,我去看了下执行计划,生产的计划都是一样的。
曾经看到有大神的文章说 1的速度最快...........................
求教育(热情恭候dudu大师给链接或者解释).................
在不带where条件的情况下,sql 2005开始已经没有区别,都会自动优化使用索引统计
是在带where 条件下 会自动优化使用索引统计吧?
有木有文章链接,求解释。
sql 2008基本就没什么区别了,有人专门统计过时间,网上有文章
恩,对的。我PC 刚从05到08,记忆中以前是有却别的,可是昨晚上无聊,试了下,执行计划竟然是一样的。
人家在等dudu,楼上的
我猜dudu是不会来了,故捧个场 消灭下0回复 :)
查询优化器执行了优化。具体就是查询优化器使用的探索行算法。生成了几个可能的执行计划,然后选最优的那个执行。所以
都一样。
对,这个我知道。
况且上面每一条语句所可能生成的计划本来就不多,就算查询优化器生成所有候选执行计划都是可能的(语句太简单)。
只是我以前看别人文章说上面查询有区别(没有带where条件)