博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql中使用count()统计的特殊之处
阅读量:6524 次
发布时间:2019-06-24

本文共 341 字,大约阅读时间需要 1 分钟。

如果你的需要是统计总行数时,为什么要使用count(*),而避免使用指定具体的列名?

count()函数里面的参数是列名的的时候,那么会计算有值项的次数。也就是,该列没有值的项并不会进入计算范围。
这样的话,你想统计的行数并不准确。更重要的是,还会增加消耗。因为,需要判断扫描所有行才知道值是否有值。

如果使用count(*),它会计算总行数。不管你是否有值都会列入计算范围。另外一点:mysqlisam引擎很容易获得总行数的统计。查询速度变得更快

归纳:实际编程中统计总行数是经常用到的。此时使用count(*)多处可见。我很少看到有人使用列名作为参数:count(a)的情况。即使是这样使用,可能其初衷也是想统计行数。只是不知道这

样所造成的细微差异而错误使用了"列名"的形式。

转载地址:http://zbjbo.baihongyu.com/

你可能感兴趣的文章
SQLSERVER是怎麽通过索引和统计信息来找到目标数据的(第一篇)
查看>>
获取线程结束代码(Exit Code)
查看>>
QT 跨平台的C++应用和UI开发库
查看>>
简明 Vim 练级攻略 | 酷壳 - CoolShell.cn
查看>>
LocalAlloc,VirtualAlloc,malloc,new的异同
查看>>
关于 IE firefox Chrome下的通过用js 关闭窗口的一些问题
查看>>
回调函数
查看>>
win7 x64 jdk1.7.0_51
查看>>
45 Useful Oracle Queries--ref
查看>>
这些开源项目,你都知道吗?(持续更新中...)[原创]
查看>>
小菜学习设计模式(四)—原型(Prototype)模式
查看>>
linux中利用iptables+geoip过滤指定IP
查看>>
高效的使用 Response.Redirect
查看>>
在myeclipse中写sql语句的细节问题
查看>>
django常用命令
查看>>
前端总结·基础篇·JS(三)arguments、callee、call、apply、bind及函数封装和构造函数...
查看>>
[Ramda] Get Deeply Nested Properties Safely with Ramda's path and pathOr Functions
查看>>
[LeetCode] Convert BST to Greater Tree 将二叉搜索树BST转为较大树
查看>>
spring AspectJ切入点语法详解 记录以便查阅
查看>>
二叉树进阶之搜索二叉树的判断与找出搜索二叉树中出错的结点
查看>>