千家信息网

mysql大表中count()的用法案例

发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要介绍了mysql大表中count()的用法案例,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。一个单表中包含有6000w+的数据
千家信息网最后更新 2025年01月21日mysql大表中count()的用法案例

这篇文章主要介绍了mysql大表中count()的用法案例,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

一个单表中包含有6000w+的数据,然而你又不能拆分.需要分别统计表中有多少数据,A产品有多少,B产品有多少这几个数据.

在为优化之前.表结构如下,为了隐藏内容我将相应字段做了模糊化处理.

CREATE TABLE `xxxx` (  `link` varchar(200) DEFAULT NULL,  `test0` varchar(500) DEFAULT NULL,  `test1` varchar(50) DEFAULT NULL,  `test2` int(11) DEFAULT NULL,  `test3` varchar(20) DEFAULT NULL,  `test4` varchar(50) DEFAULT NULL,  `test5` varchar(50) NOT NULL,  `inserttime` datetime DEFAULT NULL,  `test6` bit(1) NOT NULL DEFAULT b'0',  `A` bit(1) NOT NULL DEFAULT b'0',  `B` bit(1) NOT NULL DEFAULT b'0' ,  PRIMARY KEY (`test5`),  KEY `test6` (`test6`) USING BTREE,  KEY `A` (`A`) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8;

这个一个常规的InnoDB的表格,所以它的count(*)比起MyISAM的效率慢很多,InnoDB所显示的row的行数不很准确,所以在这这里我需要统计一下.有这么几个策略.
共计61500000数据

count(*) 耗时 1539.499s

count(1) 耗时 907.581s

count(A) 对索引进行count.

count(test6) 对主键进行count.

无一例外,由于这个表没有优化好上面无论哪一种都需要几千秒的时间,这个是我们无法忍受的.

下面我们开始着手分析处理这个问题.

预期整个表的count(*)应该在200s以内为正常,100以内为良好,50以内为优秀.

首先我将里面test6抽取了出来,单独形成了一个表.对其进行操作.
共计61500000数据

count(*) 耗时10.238s

count(1) 耗时8.710s

count(test6) 对主键进行count.耗时12.957s

其中count(1)的效率最高,比最慢count(pk)速度提升了52.0%.

将你能确定的字段改为最优值,例如:

varchar更为char.虽然varchar可以自动分配存储空间的大小但是.varchar需要使用1到2个额外的字节来记录字符串的长度,增加它的update的操作时间,

datetime改为timestamp后者在1978-2038年之间

最后使用count(1)检验的时候最快耗时,168s.虽然有些慢但是可以接受.

总结:

重新设计你表中的字段,尽量优化它的长度.不要一味使用过多的varchar.

使用count(1)而不是count(*)来检索.

感谢你能够认真阅读完这篇文章,希望小编分享mysql大表中count()的用法案例内容对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,遇到问题就找,详细的解决方法等着你来学习!

数据 字段 篇文章 案例 产品 内容 效率 时间 长度 问题 处理 统计 优秀 最快 最高 良好 无一例外 一味 之间 价值 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 网络安全保卫精神 数据库技术基础第三单元答案 艺术类有关数据库 cisco网络技术课本 联通杯网络安全知识竞赛题库 全年网络安全 零报告 比特矿场软件开发 软件开发框架作用 网络安全禁毒扫黑除恶手抄报 怀旧服精灵宝可梦新服务器 网络安全 产值 和营业比 软件开发服务费账务 sql数据库exec的使用 西门子公司网络安全供应商 网络安全涉密 提纲 网络安全周网上答题 浙江新一代网络技术服务咨询报价 查找数据库某个字段 抖音换头像显示服务器升级怎么办 临淄服装库存软件开发公司 在远程服务器上渲染 创维软件开发 网络技术与应用奥鹏 藁城游戏软件开发在线咨询 学校网络安全事故排查报告 做网络技术的现在都怎么样了 移动端软件开发相关技术 万方数据库期刊查询需要注册吗 我的南京上传图片显示服务器已满 温州手机软件开发招聘信息
0