在某平台拿到了获取了所有股票的日K数据(出于学习目的),共1200w 多条。随手一个 select count(*) 想查下总数发现都需要跑好几分钟才能响应。
于是网上搜了几种统计总数的方式,分别试下,对比下查询效率。

表结构如下

CREATE TABLE `east_dc_dkline` (`S_CODE` varchar(10) NOT NULL COMMENT '股票代码',`S_NAME` varchar(20) DEFAULT NULL COMMENT '股票名称',`DK_DATE` date NOT NULL COMMENT '数据日期',`OPENING_PRICE` varchar(20) DEFAULT NULL COMMENT '开盘价',`LATSET_PRICE` varchar(20) DEFAULT NULL COMMENT '最新价',`TOP_PRICE` varchar(20) DEFAULT NULL COMMENT '最高价',`LOWEST_PRICE` varchar(20) DEFAULT NULL COMMENT '最低价',`VOLUME` varchar(30) DEFAULT NULL COMMENT '成交额(手)',`AMOUNT` varchar(30) DEFAULT NULL COMMENT '成交量',`AMPLITUDE` varchar(50) DEFAULT NULL COMMENT '振幅',`GAINS` varchar(20) DEFAULT NULL COMMENT '涨幅(百分比)',`RISING_PRICE` varchar(10) DEFAULT NULL COMMENT '上涨价格',`TURNOVER_RATE` varchar(10) DEFAULT NULL COMMENT '换手率(百分比)',PRIMARY KEY (`S_CODE`,`DK_DATE`),KEY `idx_date` (`DK_DATE`),KEY `idx_name_date` (`S_NAME`,`DK_DATE`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

以下每种方法各执行3次,比较平均时间;【总数据条数为 12300489 】

1,SELECT COUNT(*) FROM east_dc_dkline

执行 3 min 9 sec执行 3 min 44 sec执行 2 min 56 sec

2,SELECT COUNT(1) FROM east_dc_dkline

执行 2 min 30 sec执行 2 min 31 sec执行 2 min 29 sec

3,SELECT COUNT(S_CODE) FROM east_dc_dkline – 统计字段 (非主键,ps:由于是组合主键,我count 了其中的一个字段,EXPLAIN 查看执行计划,发现走的还是 默认的索引(非主键索引))

执行 2 min 31 sec执行 2 min 31 sec执行 2 min 32 sec

4,SELECT COUNT(S_CODE) FROM east_dc_dkline FORCE INDEX(PRI) – 统计字段 强制使用主键索引

执行 1 min 49 sec执行 1 min 52 sec执行 1 min 21 sec

以上为本地windows 系统内安装的mysql数据库 对几种查询方式的执行时间比较,供参考。

补充:sql 执行前可通过 EXPLAIN 先看下执行计划内的索引使用情况。以及可以直接根据 执行计划内 的 rows 得到大致的表内数据量。

over…

mysql 大数据量查询总数 方式比较相关推荐

  1. 一次mysql大数据量查询 慢查询导致服务阻塞后的学习

    场景还原:前一个月给朋友写了个简单的登录功能,简单的查询数据库登录逻辑,使用mysbatis-plus进行的dao层代码生成(吐槽一下这个工具,真是方便一时爽,后面维护难,比较喜欢自己能够组装和优化s ...

  2. MySQL大数据量分页查询方法及其优化

    点击上方 好好学java ,选择 星标 公众号 重磅资讯.干货,第一时间送达 今日推荐:收藏了!7 个开源的 Spring Boot 前后端分离优质项目个人原创+1博客:点击前往,查看更多 链接:ht ...

  3. easyui分页查询为什么会有下拉框_6个针对MySQL大数据量分页查询优化的锦囊妙计...

    作者:大神养成记转载来源:http://sina.lt/gauW 方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M ...

  4. 千锋重庆Java学习之MySQL大数据量分页查询方法及其优化

    方法1: 直接使用数据库提供的SQL语句 语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N 适应场景: 适用于数据量较少的情况(元组百/千级) 原因/缺 ...

  5. mysql大数据量分页的一些做法

    随着公司业务的增长,数据库的数据也呈指数级增长,拿订单表为例,之前公司的订单表每天只有几千个,一个月下来不超过十万.而现在每天的订单大概就是2w+,目前订单表的数据已经达到了700w.这带来了各种各样 ...

  6. MYSQL大数据量分页查询优化 - 十万、百万级优化

    1. 常见问题 在mysql大数据量的基础下,分页中随着页码的增加,查询时间也会响应的增加.所以到了百万级别的数据量时,我们就需要优化已有的查询代码进行合理有效的分页. 一般情况下,页码与查询时间成正 ...

  7. 大数据量查询:流式查询与游标查询

    最近在做一个计算相关的功能,大体就是有很多条SQL,每条SQL都涉及复杂地运算,最后要将所有计算结果进行合并分析.经初步测试,每个SQL起码会查出几十万条记录,我们现在有毛毛多的这种SQL. 最大的问 ...

  8. mysql大数据量导入

    mysql大数据量导入 mysql大数据量导入 数据生成 测试数据5000万 import java.io.*; import java.util.Random;public class Genera ...

  9. 高并发的大数据量查询导致系统频繁死机

    我们的大数据量查询是数据库分页的, 但是导出和打印功能是基于全部数据的. 系统投入使用后,对于导出和打印功能的使用远远要高于我们的预期. 而我们的系统的硬件设备是有限的 不能再升级了. 抓取内存大对象 ...

最新文章

  1. python中的字符串常用函数
  2. 数学篇(二) 方差、标准差、协方差
  3. [渝粤教育] 西南科技大学 英语语法1 在线考试复习资料
  4. Oracle序列号详解
  5. 相机模型与标定(十三)--鱼眼相机标定
  6. moonmq: 用go实现的高性能message queue
  7. java 编程思想 阅读笔记(1)
  8. Day18 洛谷P1321 单词覆盖还原
  9. 安卓app保持屏幕常亮
  10. pytorch第四课
  11. 女性比男性更聪明、更会投资、事业心更重、对自己更严格?揭秘女性价值崛起的数据真相!...
  12. 【DB笔试面试622】在Oracle中,说说COUNT(*)计算行数有哪些优化手段?
  13. HPP(Hosted Payment Page)支付模式
  14. 【干货】数据产品经理如何快速了解业务
  15. 点击图片跳转链接php,朱秉桂教你如何给一张图片添加点击跳转链接代码
  16. maven依赖手动下载
  17. YOLOv2---优图代码+实现细节
  18. elasticsearch 学习笔记3
  19. 计算机编程入门课件,PPT课件大学计算机基础编程入门.ppt
  20. 苹果发布 iOS14 系统 Beta7,升级了这些内容

热门文章

  1. 计算机网络——虚拟机网络的三种模式介绍-桥接模式-NAT模式-仅主机模式
  2. k-近邻算法 解决 动态字体反爬
  3. pytorch中的register_parameter()和parameter()
  4. Google play上架规则_谷歌应用商店上架审核
  5. html全选替换,网站上如何实现全选与反选
  6. pycharm找不到conda可执行文件怎么办?
  7. CAD如何免费转换PDF
  8. 廖雪峰python教程杨辉三角_廖雪峰--python教程:笔记三
  9. 关联分析中的支持度、置信度和提升度
  10. php中UNIX时间戳转换为日期