MySQL 的 count(*) 的优化,获取千万级数据表的总行数
一、前言
这个问题是今天朋友提出来的,关于查询一个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,提升十分巨大。
MySQL 的 count(*) 的优化,获取千万级数据表的总行数相关推荐
- mysql 亿级表count_码云社 | 砺锋科技-MySQL的count(*)的优化,获取千万级数据表的总行数 - 用代码改变世界...
专注于Java领域优质技术号,欢迎关注 作者:李长念 一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去.找了很多优化方案,最后另辟蹊径 ...
- mysql的count(*)的优化,获取千万级数据表的总行数
一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去.找了很多优化方案,最后另辟蹊径,选择了用explain来获取总行数. 二.关于cou ...
- mysql 查询表总行数字段_MySQL的count(*)的优化,获取千万级数据表的总行数
这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去.找了很多优化方案,最后另辟蹊径,选择了用explain来获取总行数. 网上关于count()优 ...
- mysql count 百万级_MySQL 的 count(*) 的优化,获取千万级数据表的总行数
一.前言 二.关于count的优化 三.使用explain获取行数1.关于explain 2.关于返回值 一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(* ...
- server sql 数据总行数_SqlServer中获取数据库中每个表的行数
CREATE TABLE #RowCounts(NumberOfRows BIGINT,TableName VARCHAR(128)) EXEC sp_MSForEachTable 'INSERT I ...
- 给第一行单元格赋值WPS JS获取工作表的总行数WPS JS获取工作表的总行数
戳我,了解更多相关办公的小技巧 给第一行单元格赋值 1.在计算机中有一种ASCII编码,其中A在计算机中的表示的数字是65,a的ascii码是97,b的ascii码是98. 2.从A1到F1可以看到第 ...
- 给第一行单元格赋值 + WPS JS获取工作表的总行数 + WPS JS获取工作表的总行数
戳我,了解更多相关办公的小技巧 给第一行单元格赋值 1.在计算机中有一种ASCII编码,其中A在计算机中的表示的数字是65,a的ascii码是97,b的ascii码是98. 2.从A1到F1可以看到第 ...
- mysql 1千万 like优化_MYSQL千万级数据量的优化方法积累
1.分库分表 很明显,一个主表(也就是很重要的表,例如用户表)无限制的增长势必严重影响性能,分库与分表是一个很不错的解决途径,也就是性能优化途径,现在的案例是我们有一个1000多万条记录的用户表mem ...
- 物理机存放mysql实例原则_MySQL优化笔记(四)--表的设计与优化(单表、多表)...
前面讲了SQL优化以及索引的使用.设计优化了,那么接下来就到表的设计与优化啦!!!真实地去设计优化单表结构以及讲述多表设计基本原则(结合真实的生产环境的取舍来讲述). 文章结构:(1)单表设计与优化: ...
最新文章
- CentOS 6.x中目录结构及用途
- WCF 入门之旅(4): 怎样用客户端调用WCF服务
- 用ASP.NET AJAX框架扩展HTML Map控件
- 测试Open Live Writer
- 解决:Error response from daemon: manifest for xxx:latest not found: manifest unknown...
- Qt在指定区域内拖动窗口
- 未能卸载该设备.启动计算机,未能卸载该设备。启动计算机时可能需要该设备...
- 系统蓝屏日志DMP文件分析工具WinDbg及教程
- 威纶通触摸屏制作自定义欢迎界面的几种方法介绍
- win8 完全禁用uac的方法
- QL-Emotion(FDD3.0)教程
- 拼多多又起一事:因为看到同事被抬上救护车我被拼多多开除了
- angularjs2学习教程
- 所见所得的OFFICE功能区编辑器(自定义界面编辑)RibbonCreator
- Django项目 no signature found for builtin错误原因
- 软件安装与升级——rpm
- 120项优化: 超级爬虫Hawk 2.0重磅发布!
- 非华为手机Scrcpy无线投屏电脑多屏协同步骤(电脑无线连接投屏手机,设备,tcpip)
- span内一连串英文字符不会自动换行
- java汉字转换二进制
热门文章
- Git与GitHub的使用
- [Java并发编程实战] 共享对象之可见性
- LinkedHashMap分析
- MyEclipse使用总结——在MyEclipse中设置jsp页面为默认utf-8编码
- poj2104(划分树模板)
- 1.A+B Problem
- 要搞清楚对象和对象的引用
- win7下安装rose
- 【STM32 .Net MF开发板学习-21】蓝牙遥控智能小车(PC模式)
- 《WebForm开发系列高级篇》Item2导出EXCEL通用类(GridView,DataList,Repeater,DetailView)