mysql查询记录总数_MySQL记录总条数实现查询优化「建议收藏」

mysql查询记录总数_MySQL记录总条数实现查询优化「建议收藏」MySQL记录总条数实现查询优化发布时间:2020-05-0811:04:00来源:亿速云阅读:268作者:三月本文主要给大家介绍MySQL记录总条数实现查询优化,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL记录总条数实现查询优化吧。1、COUNT(*)和COUNT(COL)COUNT(*)通常是对主键进行索引扫描,而COUNT…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

MySQL记录总条数实现查询优化

发布时间:2020-05-08 11:04:00

来源:亿速云

阅读:268

作者:三月

本文主要给大家介绍MySQL记录总条数实现查询优化,文章内容都是笔者用心摘选和编辑的,具有一定的针对性,对大家的参考意义还是比较大的,下面跟笔者一起了解下MySQL记录总条数实现查询优化吧。

1、COUNT(*)和COUNT(COL)

COUNT(*)通常是对主键进行索引扫描,而COUNT(COL)就不一定了,另外前者是统计表中的所有符合的纪录总数,而后者是计算表中所有符合的COL的纪录数。还有有区别的。

优化总结,对于MyISAM表来说:

1.任何情况下SELECT COUNT(*) FROM tablename是最优选择;

2.尽量减少SELECT COUNT(*) FROMtablename WHERE COL = ‘value’ 这种查询;

3.杜绝SELECT COUNT(COL) FROM tablename WHERE COL2 =’value’ 的出现。

2、COUNT(*)还是COUNT(id)

根据我的理解,应该是使用COUNT(id)更加快速,因为如果我的id是一个自增的主键,那么计算它的数量显然比计算所有字段的数量需要消耗的资源少一些。但是我不止在一篇的类似指导mysql查询加速的文章中看到,都建议我们使用SELECT COUNT(*)而非直接COUNT主键,这是为什么呢?

貌似是因为用MyISAM引擎的表存储了总条数,如果没有WHERE或者WHERE恒为真(比如WHERE 1),那么COUNT(*)可以直接返回总条数。

另外,很显然COUNT(*)不是”计算所有的字段”,显然MySQL会把*解析成“一条数据”的意思。

测试数据,简单对比一下,未做更深入的测试:

#0.817-一百万条的查询时间

select count(*) from student ;

#0.789-一百万条的查询时间

select count(id) from student;

#1.011-一百万条的查询时间

select count(name) from student;

#1.162-一百万条的查询时间

SELECT COUNT(*) FROM student WHERE namelike ‘%xiaoli%’;#默认用主键索引查询,但是加上like条件后索引失效

看完以上关于MySQL记录总条数实现查询优化,很多读者朋友肯定多少有一定的了解,如需获取更多的行业知识信息 ,可以持续关注我们的行业资讯栏目的。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/197753.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • mpvue flyio「建议收藏」

    mpvue flyio「建议收藏」https://blog.csdn.net/qq_34239734/article/details/88836320不用改这个,如果改第一个,那么就自动改第二个了在main.js中代码如下importflyfrom’./utils/request’//将fly挂载在全局Vue.prototype.$fly=flyutil…

    2025年10月8日
    5
  • Java审计之CMS中的那些反序列化漏洞

    Java审计之CMS中的那些反序列化漏洞0x00前言过年这段时间比较无聊,找了一套源码审计了一下,发现几个有意思的点拿出来给分享一下。0x01XStream反序列化漏洞下载源码下来发现并

    2021年12月12日
    54
  • excel 导出json_导出的数据格式不对

    excel 导出json_导出的数据格式不对json格式数据转Excel导出的两种方法第一种table格式数据直接转Excel:但是用这种方式会出现一种问题,就是当你的table有分页的情况下,只能抓取当前分页的数据。拿到表格的id就可以

    2022年8月4日
    23
  • (毕业设计资料)基于单片机SPWM逆变器电源系统设计

    (毕业设计资料)基于单片机SPWM逆变器电源系统设计输出:正弦波频率:可调;幅值:可调;逆变原理:51单片机SPWM驱动H桥+后级滤波;调节方式:频率加按键、频率减按键、幅值加按键、幅值减按键;频率调节范围:10hz、20hz、30hz、40hz、50hz、60hz、70hz、80hz、100hz;幅值调节范围:0%,10%,20%,30%,40%,50%,60%,70%,80%,90%,100%;(输出峰值占输入电压百分比)输出最大电流:2A;过流打嗝保护:过流保护值2A,过流时切断,5秒后尝试恢复输出;输入电压范围:

    2022年4月30日
    48
  • EasyMock PowerMock 的简单使用(with spring Autowired)

    EasyMock PowerMock 的简单使用(with spring Autowired)

    2021年5月9日
    139
  • python爬虫实时转发文章新闻;微信机器人使用;「建议收藏」

    python爬虫实时转发文章新闻;微信机器人使用;「建议收藏」前言:当前时间2022-4-24已经有五个月没水文章了!personally技术不增反退,咸扯蛋!今天搞个好玩的,用“鬼手”搞的免费版的微信pc端机器人+爬虫用来实时转发文章或新闻啥的!感谢“鬼手”免费分享的源码!(鄙人就单纯喜欢打感叹号!没其他意思!不是强调!)一、介绍“鬼手”的pc端微信使用先甩github链接:https://github.com/cixingguangming55555/wechat-bot里面有使用教程,但为了方便和本着就是讲细的原则还是说说吧。1、下

    2022年6月22日
    59

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号