为了账号安全,请及时绑定邮箱和手机立即绑定

有关查询表中数据数目的问题

有关查询表中数据数目的问题

潇湘沐 2018-12-07 13:12:08
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大师给链接或者解释).................
查看完整描述

7 回答

?
白板的微信

TA贡献1883条经验 获得超3个赞

在不带where条件的情况下,sql 2005开始已经没有区别,都会自动优化使用索引统计

查看完整回答
反对 回复 2019-01-07
?
摇曳的蔷薇

TA贡献1793条经验 获得超6个赞

sql 2008基本就没什么区别了,有人专门统计过时间,网上有文章

查看完整回答
反对 回复 2019-01-07
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

恩,对的。我PC 刚从05到08,记忆中以前是有却别的,可是昨晚上无聊,试了下,执行计划竟然是一样的。

查看完整回答
反对 回复 2019-01-07
?
墨色风雨

TA贡献1853条经验 获得超6个赞

人家在等dudu,楼上的

查看完整回答
反对 回复 2019-01-07
?
精慕HU

TA贡献1845条经验 获得超8个赞

我猜dudu是不会来了,故捧个场 消灭下0回复 :)

查看完整回答
反对 回复 2019-01-07
?
临摹微笑

TA贡献1982条经验 获得超2个赞

查询优化器执行了优化。具体就是查询优化器使用的探索行算法。生成了几个可能的执行计划,然后选最优的那个执行。所以

都一样。

查看完整回答
反对 回复 2019-01-07
?
料青山看我应如是

TA贡献1772条经验 获得超8个赞

对,这个我知道。

况且上面每一条语句所可能生成的计划本来就不多,就算查询优化器生成所有候选执行计划都是可能的(语句太简单)。

只是我以前看别人文章说上面查询有区别(没有带where条件)

查看完整回答
反对 回复 2019-01-07
  • 7 回答
  • 0 关注
  • 567 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信