专注于Java领域优质技术号,欢迎关注

作者:李长念

一、前言

这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去。找了很多优化方案,最后另辟蹊径,选择了用explain来获取总行数。

二、关于count的优化

网上关于count()优化的有很多。博主这边的思路就是没索引的就建立索引关系,然后使用count(1)或者count(*)来提升速度。这两个函数默认使用的是数据表中最短的那个索引字段。我朋友这边因为表中只有一个索引字段,所以使用count(1)和count(*)没什么区别。

MySQL中聚合函数count的使用和性能优化(https://blog.csdn.net/lmy86263/article/details/73681633)

mysql count(*) 会选哪个索引?(https://blog.csdn.net/zbdba/article/details/47753721)

大家可以参考这两个博客,都挺不错的。

三、使用explain获取行数

1、关于explain

关于explain,使用mysql的都知道,这个函数是专门用于查看sql语句的执行效率的,网上可供参考的文章很多。

定义: explain 命令速度很快,因为 explain 用并不真正执行查询,而是查询优化器【估算】的行数。

我们使用explain之后,会看到返回很多参数,其中:

rows:显示MySQL认为它执行查询时必须检查的行数。就是这个东西了,既然我们要获取的是数据表的行数,那么可以使用:

2、关于返回值

以前博主也没注意过返回值的问题,都是直接通过phpmyadmin来查看sql的执行效率。这次因为要用到rows的值,所以就打印了一下,原来这个explain函数是会返回一个数组。这样我们就能通过这个数组获取到我们需求的rows。

这里直接获取这个值即可。速度极快。原来查询速度是2.33s,换成只用explain之后,速度仅为0008s,提升十分巨大。原文链接:https://blog.csdn.net/LJFPHP/article/details/84400400

mysql 亿级表count_码云社 | 砺锋科技-MySQL的count(*)的优化,获取千万级数据表的总行数 - 用代码改变世界...相关推荐

  1. python代码世界你好_码云社 | 砺锋科技

    Go 语言诞生于谷歌,由计算机领域的三位宗师级大牛 Rob Pike.Ken Thompson 和 Robert Griesemer 写成.由于出身名门,Go 在诞生之初就吸引了大批开发者的关注.诞生 ...

  2. mysql count 百万级_MySQL 的 count(*) 的优化,获取千万级数据表的总行数

    一.前言 二.关于count的优化 三.使用explain获取行数1.关于explain 2.关于返回值 一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(* ...

  3. mysql的count(*)的优化,获取千万级数据表的总行数

    一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去.找了很多优化方案,最后另辟蹊径,选择了用explain来获取总行数. 二.关于cou ...

  4. MySQL 的 count(*) 的优化,获取千万级数据表的总行数

    一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去.找了很多优化方案,最后另辟蹊径,选择了用explain来获取总行数. 二.关于cou ...

  5. mysql 查询表总行数字段_MySQL的count(*)的优化,获取千万级数据表的总行数

    这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去.找了很多优化方案,最后另辟蹊径,选择了用explain来获取总行数. 网上关于count()优 ...

  6. 一入职!就遇到MySQL亿级大表优化....

    作者丨jia-xin 出处: https://www.cnblogs.com/YangJiaXin/p/10828244.html "前段时间刚入职一家公司,就遇到了 MySQL 亿级大表优 ...

  7. mysql 亿级高并发_亿级流量系统架构之如何设计每秒十万查询的高并发架构.md

    亿级流量系统架构之如何设计每秒十万查询的高并发架构 一.前情回顾 上篇文章(亿级流量系统架构之如何设计承载百亿流量的高性能架构)聊了一下系统架构中,百亿流量级别高并发写入场景下,如何承载这种高并发写入 ...

  8. 一入职就遇上Mysql亿级优化,方案都改了5遍

    这一个月来,很多小伙伴私信问我618各大电商后端的技术,最多的是关于系统压力暴增情况下如何进行MySQL数据库优化的. 今天就结合我自己工作中的真实案例和大家分享一下吧. 前几年我待过一家创业公司,做 ...

  9. 申通完美支撑“双11”——亿级包裹背后的云基础设施

    简介: 亿级包裹洪峰过境,千万级订单毫秒级响应,系统稳如泰山.今年双11,申通的系统前所未有的流畅与平稳. 今年双11,申通的系统前所未有的流畅与平稳 "双11全站跑在阿里云上,亿级包裹洪峰 ...

最新文章

  1. 简介子窗口控件(api)
  2. Cannot center sparse matrices: pass `with_mean=False`
  3. sort+参数+linux,linux sort下令参数及用法详解
  4. 使用var声明的变量 和 直接赋值并未声明的变量的区别
  5. 小程序 处理富文本内图片大小
  6. 爱立信首席执行官卫翰思离职 投资者已失去耐性
  7. java块语句_Java运算符、表达式、语句块
  8. 中国即时通信用户6.42亿 企业市场竞争将更激烈
  9. 《Spring_Four》第一次作业:团队亮相
  10. 第十八届绵竹年画节开幕 大巡游展示清末年画《迎春图》场景
  11. Activiti6 下载安装
  12. 联发科MT2503D处理器详细参数介绍
  13. 银联支付接口申请-手机控件支付
  14. 查询三方jar包漏洞
  15. 603. 连续空余座位
  16. 藏苹果 HNSUT 1889
  17. linux删除文件面面观
  18. 如何修改默认的FTP帐号或密码
  19. 白杨SEO:做个世界杯公众号怎么样?以2022年卡塔尔世界杯来做微信搜一搜的SEO流量实战举例
  20. 7、PCIE总线-PCI、PCIE关系及信号定义

热门文章

  1. Intellij Idea 生成serialVersionUID的方法
  2. vivo7.0系统机器(亲测有效)激活Xposed框架的教程
  3. 阿里云智能对话分析服务
  4. 17张图揭密支付宝系统架构
  5. Thinking in java中关于Exception的一道面试题.
  6. Linux中源码包的管理
  7. 常用的JQuery数字类型验证正则表达式
  8. 在SpringBoot中使用SpringDataRedis
  9. android 显示yuv数据格式,YUV数据格式的理解
  10. java连接数据库不使用框架_实体框架数据库连接不重新连接