一、前言

二、关于count的优化

三、使用explain获取行数1、关于explain

2、关于返回值

一、前言

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

二、关于count的优化

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

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

三、使用explain获取行数

1、关于explain

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

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

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

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

2、关于返回值

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

这里直接获取这个值即可。速度极快。原来查询速度是2.33s,换成只用explain之后,速度仅为0008s,提升十分巨大。

mysql count 百万级_MySQL 的 count(*) 的优化,获取千万级数据表的总行数相关推荐

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

    专注于Java领域优质技术号,欢迎关注 作者:李长念 一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去.找了很多优化方案,最后另辟蹊径 ...

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

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

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

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

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

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

  5. oracle分页查询加总数,oracle count 百万级 分页查询记要总数、总条数优化

    oracle count 百万级 分页查询记录总数.总条数优化 oracle count 百万级 查询记录总数.总条数优化 最近做一个项目时,做分页时,发现分页查询速度很慢,分页我做的是两次查询,一次 ...

  6. MYSQL 删除百万级数据

    MYSQL 刚建立的数据库的时候,没有考虑数据过多会导致后续查询的问题,也没有建立定期删除的存储过程,等到发现资料过大的时候,直接删除已经不可行了,所以不得不去尝试其他的方式. 数据库情况:每天有50 ...

  7. mysql处理百万级数据库常识(转载)

    最近一段时间参与的项目要操作百万级数据量的数据,普通SQL查询效率呈直线下降,而且如果where中的查询条件较多时,其查询速度简直无法容忍.之前数据量小的时候,查询语句的好坏不会对执行时间有什么明显的 ...

  8. SQL Server 处理百万级以上的数据处理与优化

    原文链接:https://www.cnblogs.com/aini80216051-/p/7155586.html 一.处理百万级以上的数据提高查询速度的方法: 1.应尽量避免在 where 子句中使 ...

  9. mysql proxy性能差_mysql性能的检查和优化方法

    mysql在遇到严重性能问题时,一般都有这么几种可能: 1.索引没有建好; 2.sql写法过于复杂; 3.配置错误; 4.机器实在负荷不了; 1.索引没有建好 如果看到mysql消耗的cpu很大,可以 ...

最新文章

  1. java comparable接口作用_Java 中 Comparable 接口的意义和用法
  2. 大型软件公司.Net面试题(一)
  3. 连肝 7 个晚上,总结了 66 条计算机网络的知识点
  4. iview default-file-list 动态赋值不显示
  5. Spring配置数据源(连接池)
  6. iOS - 上架的APP 生成二维码下载
  7. 异或算法在算法求解中的妙用
  8. 对超级计算机的认识有关论文,计算机科与技术专业的认识与思考.docx
  9. Itunes恢复备份失败解决办法(C盘空间不足)
  10. 淘宝用户行为数据分析详解
  11. 【.Net实用方法总结】 整理并总结System.IO中Path类及其方法介绍
  12. 每当这些游戏发售,各国旅游部门就笑得合不拢嘴了
  13. JavaScript Lodash 工具库
  14. 无人驾驶时代的室外组网技术研究
  15. 让明日科技今日成真,Mali-G72有何妙招?
  16. linux系统定时器中断优先级,请教定时器中断与串口中断优先级配置问题
  17. 扬州首套旅游数字藏品“扬州园林”,打造数字化元宇宙城市名片
  18. 前端vue基于onlyoffice实现在线预览
  19. MIPI CSI介绍
  20. primary key 主键

热门文章

  1. windows server 2008 安装实录
  2. 从业多年测试工程师总结,大厂面试必问问题就是这些
  3. 华为,在行星的十字路口
  4. Phonegap 通知 Notification
  5. 全面了解Windows系统鲜为人知的宝藏
  6. 使用TP5接入支付宝单笔转账接口(AlipayFundTransUniTransferRequest)
  7. python列表和集合的异同_Python中的list与tuple集合区别解析
  8. 《致我的这位朋友的一封信》 自述
  9. 你想知道的网易云音乐推荐架构解析,都在这里!
  10. 如何判断链表中是否存在环?Floyd判圈算法 leetcode刷题笔记 142. 环形链表 II