mysql 查询表总行数字段_MySQL的count(*)的优化,获取千万级数据表的总行数
这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去。找了很多优化方案,最后另辟蹊径,选择了用explain来获取总行数。
网上关于count()优化的有很多。博主这边的思路就是没索引的就建立索引关系,然后使用count(1)或者count(*)来提升速度。这两个函数默认使用的是数据表中最短的那个索引字段。我朋友这边因为表中只有一个索引字段,所以使用count(1)和count(*)没什么区别。
MySQL中聚合函数count的使用和性能优化
mysql count(*) 会选哪个索引?
大家可以参考这两个博客,都挺不错的。
1、关于explain
关于explain,使用mysql的都知道,这个函数是专门用于查看sql语句的执行效率的,网上可供参考的文章很多。
定义: explain 命令速度很快,因为 explain 用并不真正执行查询,而是查询优化器【估算】的行数。
我们使用explain之后,会看到返回很多参数,其中:
rows:显示MySQL认为它执行查询时必须检查的行数。就是这个东西了,既然我们要获取的是数据表的行数,那么可以使用:
2、关于返回值
以前博主也没注意过返回值的问题,都是直接通过phpmyadmin来查看sql的执行效率。这次因为要用到rows的值,所以就打印了一下,原来这个explain函数是会返回一个数组。这样我们就能通过这个数组获取到我们需求的rows。
这里直接获取这个值即可。速度极快。原来查询速度是2.33s,换成只用explain之后,速度仅为0008s,提升十分巨大。
另外本人从事在线教育多年,将自己的资料整合建了一个QQ群,对于有兴趣一起交流学习C/C++的可以加群:825414254,里面有大神会给予解答,也会有许多的资源可以供大家学习分享,欢迎大家前来一起学习进步!
mysql 查询表总行数字段_MySQL的count(*)的优化,获取千万级数据表的总行数相关推荐
- mysql count 百万级_MySQL 的 count(*) 的优化,获取千万级数据表的总行数
一.前言 二.关于count的优化 三.使用explain获取行数1.关于explain 2.关于返回值 一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(* ...
- mysql 亿级表count_码云社 | 砺锋科技-MySQL的count(*)的优化,获取千万级数据表的总行数 - 用代码改变世界...
专注于Java领域优质技术号,欢迎关注 作者:李长念 一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去.找了很多优化方案,最后另辟蹊径 ...
- mysql的count(*)的优化,获取千万级数据表的总行数
一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去.找了很多优化方案,最后另辟蹊径,选择了用explain来获取总行数. 二.关于cou ...
- MySQL 的 count(*) 的优化,获取千万级数据表的总行数
一.前言 这个问题是今天朋友提出来的,关于查询一个1200w的数据表的总行数,用count(*)的速度一直提不上去.找了很多优化方案,最后另辟蹊径,选择了用explain来获取总行数. 二.关于cou ...
- server sql 数据总行数_SqlServer中获取数据库中每个表的行数
CREATE TABLE #RowCounts(NumberOfRows BIGINT,TableName VARCHAR(128)) EXEC sp_MSForEachTable 'INSERT I ...
- mysql中count出来的条数有误_Mysql中count()使用的问题?
简介: count()函数用来统计表的行数,也就是统计记录行数,很好理解的,但面试你这么说就有点单薄了. count()函数具体情况下的各种分析: 各类面试题总结了一下,应该遇到的话不会怕了: 1)为 ...
- mysql 修复表字段_mysql数据库总结一【安装,配置,表操作,字段操作,增删改, 备份-恢复,select查询】...
服务器端安装 安装服务器端:在终端中输入如下命令,回车后,然后按照提示输入 sudo apt-get install mysql-server 启动服务 sudo service mysql star ...
- mysql选出重复的字段_mysql查询表里的重复数据方法:
INSERT INTO hk_test(username, passwd) VALUES ('qmf1', 'qmf1'),('qmf2', 'qmf11') delete from hk_test ...
- mysql数据库怎样添加字段_MySQL添加字段和修改字段的方法
MySQL添加字段的方法并不复杂,下面将为您详细介绍MySQL添加字段和修改字段等操作的实现方法,希望对您学习MySQL添加字段方面会有所帮助. 1.登录数据库 >mysql -u root - ...
最新文章
- linux shell 脚本入门
- input 单选框ajax提交,input radio单选框绑定change事件
- NodeJS入门04-Express路由和中间件 - 小之 - 博客园
- linux php7 mongodb,CentOS 7下安装配置PHP7跟LAMP及MongoDB和Redis
- Clojure Project 工程文件分析
- 部门研发linux sysfs (2)部门研发
- 通过键盘事件执行查询与回填数据
- 基于单片机倾角检测仪设计分享
- 汇编语言 XCHG指令
- 电子书(文学,计算机)搜索与下载网站推荐
- 全国ps计算机考试时间,全国计算机考试一级PS考试大纲
- 厉害了!百度智能云NIRO Pro智能机器人半年内连获三项产品设计大奖
- datedif函数(datedif函数在哪里找)
- NOIP训练 czy的后宫5(树形dp)
- 制造业数字化转型关键问题有哪些?
- python怎么设置窗口大小_python – 如何找出所需的窗口大小?
- Java使用aspose.word完美实现docx转doc
- VMware16安装过程分享
- Activity 切换动画(小米图库列表进入详情页,图片从固定位置放大进入,缩小退出)
- dumpsys用法简介
热门文章
- 【数据结构】线段树(interval tree)
- css字体转换程序(Node.js)
- Hibernate中的query.setFirstResult(),query.setMaxResults();
- 【leetcode刷题笔记】Restore IP Addresses
- Hello, world!
- Asp.net2.0页面的生命周期
- Ubuntu18.04修改主机名和用户名
- Docker下使用gdb
- Ubuntu使用U盘把从互联网上下载的安装包及其依赖更新到内部机
- 电脑向linux板卡传文件,ARM 开发板嵌入式linux系统与主机PC通过串口传输文件