SELECT COUNT(*)需要进行全表扫描返回表的行数,对于数据规模非常大的表来说,这是非常耗时的操作。

如果需要获取一个表的所有行数,应当考虑从系统表sysindexes中获取的替代方案。

在查询分析器中执行如下语句:

SET STATISTICS IO ON
GO
SELECT COUNT(*) FROM E1日销售明细
GO
SELECT rows FROM sysindexes WHERE id = OBJECT_ID('E1日销售明细') AND indid < 2
GO
SET STATISTICS IO OFF
GO

返回的行数为13239473。

返回的消息显示——

(所影响的行数为 1 行)
表 'E1日销售明细'。扫描计数 68,逻辑读 51302 次,物理读 5 次,预读 49831 次。

(所影响的行数为 1 行)
表 'sysindexes'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。

DOS & DONTS——
4、避免使用SELECT COUNT(*);
[注意:为了引起注意,所有本系列总结的DOS & DONTS都是具有一定前提的,一般的前提是“除非必要”和“除非必要才不”。]

T-SQL Optimization Tips (3): SELECT COUNT(*)相关推荐

  1. [转]linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符)

    本文转自:http://www.cnblogs.com/jack-liang/archive/2011/03/22/1991554.html Group By/Having操作符 适用场景:分组数据, ...

  2. 为什么 select count(*) from t,在 InnoDB 引擎中比 MyISAM 慢?

    统计一张表的总数量,是我们开发中常有的业务需求,通常情况下,我们都是使用 select count(*) from t SQL 语句来完成.随着业务数据的增加,你会发现这条语句执行的速度越来越慢,为什 ...

  3. linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符)

    Group By/Having操作符 适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q =from p in ...

  4. jfinal出现sql injection violation, multi-statement not allow : select count(*) select a.name,

    场景:public Page<Record> getPage(int pnum,int psize,String flag){ String sql = "select * fr ...

  5. 我说 SELECT COUNT(*) 会造成全表扫描,面试官让我回去等通知

    来自:码海 前言 上篇 SQL 进阶技巧(下) 中提到使用以下 sql 会导致慢查询 SELECT COUNT(*) FROM SomeTable SELECT COUNT(1) FROM SomeT ...

  6. 你知道select count(*)底层究竟干了啥么?

    作者:贾春生 https://blog.didiyun.com/index.php/2019/01/08/mysql-count/ "SELECT COUNT( * ) FROM T&quo ...

  7. select count(*)加其他字段_count(1)、count(*) 与 count(列名) 的执行区别

    (给ImportNew加星标,提高Java技能) 作者:BigoSprite blog.csdn.net/iFuMI/article/details/77920767 执行效果: 1.  count( ...

  8. MySQL:SELECT COUNT 小结

    作者 | 翁智华 来源 | https://www.jianshu.com/p/4913fdd1e277 背景 今天团队在做线下代码评审的时候,发现同学们在代码中出现了 select count(1) ...

  9. select count

    select count(*) from table_name 返回表中的记录数 select count(DISTINCT column_name) from table_name 返回指定列的不同 ...

最新文章

  1. Java遇见HTML——JSP篇之JSP指令与动作元素
  2. 值得关注!一种新型脑机接口--集成光子芯片的脑机接口是否可行?
  3. C# WinForm程序App.Config数据库连接配置文件的使用过程
  4. 雷观(十六):帮人写项目,不如教会别人写项目的方法
  5. 码农节快乐|一个系统,高效解决复杂事件采集-计算-实时触达
  6. 从编程语言进化史,看 Java、C、C++ 等语言的演变
  7. html页面实现右下角弹窗提示,JS 实现右下角弹窗
  8. nginx启用reuseport
  9. 浊音、清音、爆破音音频分析
  10. 动态Web-JSP和tomcat
  11. 测试属性4 –准确性
  12. 【C++学习汇总】【黑马程序员】
  13. 冰桶算法在监控软件中有哪些用途
  14. 正负数原码、反码、补码以及位运算
  15. 数据库操作银行管理系统
  16. C# 微信支付之JSAPI支付
  17. 记录video-js出现的一些异常
  18. 百城千屏落地,8K超高清视频内容供给看何方?
  19. 如何屏蔽网站不需要的蜘蛛
  20. python resample函数_Pandas的时间序列-resample重采样

热门文章

  1. .NET开发人员十大必备下载工具
  2. 交换二叉树的每个节点的左右子树
  3. bootstrapTable表格分页后,处理逻辑后刷新跳回第一页,没留在当前页的解决办法
  4. Oracle的dbf文件迁移
  5. bug记录:虚拟机ping不通外网
  6. python 文本框位置_「每日一练」Python文本框的显示和插入
  7. js array 删除指定元素_Array 原型方法源码实现解密
  8. OSGL 工具库 - 类型转换的艺术
  9. C++雾中风景4:多态引出的困惑,对象的拷贝?
  10. Unity GPU Instancing的使用尝试