T-SQL Optimization Tips (3): SELECT COUNT(*)
SELECT COUNT(*)需要进行全表扫描返回表的行数,对于数据规模非常大的表来说,这是非常耗时的操作。
如果需要获取一个表的所有行数,应当考虑从系统表sysindexes中获取的替代方案。
在查询分析器中执行如下语句:
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(*)相关推荐
- [转]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操作符 适用场景:分组数据, ...
- 为什么 select count(*) from t,在 InnoDB 引擎中比 MyISAM 慢?
统计一张表的总数量,是我们开发中常有的业务需求,通常情况下,我们都是使用 select count(*) from t SQL 语句来完成.随着业务数据的增加,你会发现这条语句执行的速度越来越慢,为什 ...
- linq to sql (Group By/Having/Count/Sum/Min/Max/Avg操作符)
Group By/Having操作符 适用场景:分组数据,为我们查找数据缩小范围. 说明:分配并返回对传入参数进行分组操作后的可枚举对象.分组:延迟 1.简单形式: var q =from p in ...
- 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 ...
- 我说 SELECT COUNT(*) 会造成全表扫描,面试官让我回去等通知
来自:码海 前言 上篇 SQL 进阶技巧(下) 中提到使用以下 sql 会导致慢查询 SELECT COUNT(*) FROM SomeTable SELECT COUNT(1) FROM SomeT ...
- 你知道select count(*)底层究竟干了啥么?
作者:贾春生 https://blog.didiyun.com/index.php/2019/01/08/mysql-count/ "SELECT COUNT( * ) FROM T&quo ...
- select count(*)加其他字段_count(1)、count(*) 与 count(列名) 的执行区别
(给ImportNew加星标,提高Java技能) 作者:BigoSprite blog.csdn.net/iFuMI/article/details/77920767 执行效果: 1. count( ...
- MySQL:SELECT COUNT 小结
作者 | 翁智华 来源 | https://www.jianshu.com/p/4913fdd1e277 背景 今天团队在做线下代码评审的时候,发现同学们在代码中出现了 select count(1) ...
- select count
select count(*) from table_name 返回表中的记录数 select count(DISTINCT column_name) from table_name 返回指定列的不同 ...
最新文章
- Java遇见HTML——JSP篇之JSP指令与动作元素
- 值得关注!一种新型脑机接口--集成光子芯片的脑机接口是否可行?
- C# WinForm程序App.Config数据库连接配置文件的使用过程
- 雷观(十六):帮人写项目,不如教会别人写项目的方法
- 码农节快乐|一个系统,高效解决复杂事件采集-计算-实时触达
- 从编程语言进化史,看 Java、C、C++ 等语言的演变
- html页面实现右下角弹窗提示,JS 实现右下角弹窗
- nginx启用reuseport
- 浊音、清音、爆破音音频分析
- 动态Web-JSP和tomcat
- 测试属性4 –准确性
- 【C++学习汇总】【黑马程序员】
- 冰桶算法在监控软件中有哪些用途
- 正负数原码、反码、补码以及位运算
- 数据库操作银行管理系统
- C# 微信支付之JSAPI支付
- 记录video-js出现的一些异常
- 百城千屏落地,8K超高清视频内容供给看何方?
- 如何屏蔽网站不需要的蜘蛛
- python resample函数_Pandas的时间序列-resample重采样