Chad_SunErChao 2021-12-27 16:11 采纳率: 85%
浏览 84
已结题

关于sqlserver查询条件相同,返回结果不同

select count(*) from A  where a='1' and b='2'
select * from A   where a='1' and b='2'

同一张表,哪个查询条件比较快

  • 写回答

2条回答 默认 最新

  • DarkAthena ORACLE应用及数据库设计方案咨询师 2021-12-27 16:45
    关注

    不能简单的判断哪个快,要看数据量和磁盘存储分布的。另外,这与A是实体表还是视图也是有关系的。
    count必须统计出来所有记录,但select * from在不同工具里使用时,执行计划会有所区别,比如只显示前多少行,要继续展开才会获取其他行。如果数据量大或者是个复杂逻辑的视图,甚至视图里套union all时,select * from 可能会更快。
    但数据量小的时候,这两个差别已经不大了,可以看看执行计划的开销

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 3月9日
  • 已采纳回答 3月1日
  • 创建了问题 12月27日