胸弟,mysql分表要慎之又慎,没有必要的情况下千万不要贸然分库分表。真到了非拆不可的时候,一定要结合实际业务,多花点时间做方案预研。像你们这个方案,按日期一天一张表,这完全是拍脑袋想出来的啊,给自己挖了个大坑。

按日期分表,而且是一天一张,这个方案最大的问题就是没分清哪些是热点数据,哪些是归档数据。看你的需求,是要查七天的数据,由于你没说清楚具体业务需求,所以有两种情况:1.只需要查最近七天的数据 2.可以随意查历史某一个跨度为7天的时间段数据。

如果是情况1,你们这种拆分方案完全是画蛇添足,因为近7天是热点数据,只需要在热点表保存近7天的数据,每天跑定时任务把上一天数据归档就行。一天300w,7天就是2100w,这样一张表并不是大的不得了的规模,设计好索引,SQL写好一点,怎么着也比你那个几十秒要强好多倍。另外除了拆分表,也可以用partition。

如果是情况2,没有特定的热点表,历史任何一个7天跨度的数据都可能要查,这样的需求除了BI分析,说实话我觉得真没必要这么干。如果是BI分析,这么大的数据量用mysql做从一开始就是错的;如果是业务查询(讲道理这样的需求真的很奇葩),得看用什么维度查,举个例子电商网站用户查自己的历史订单,这样的需求应该用userID取模做水平拆分,而不是用日期。总之这样的情况还需要具体问题具体分析,没有一成不变的方案。如果业务要求可以用任何一个维度查,按目前这种情况,恐怕没什么好方案了,每一次查询都需要跨多张表,非要做的话,也不能用union all这种最粗暴的办法,可以尝试多开几个线程,每个线程查一张表,并行着来,然后在内存中把多个结果集重新组合排序,如果CPU好点的话,理论上能快不少。

再退一万步,如果还是不行,就考虑上ES吧。不过那就是另外一个故事了。

mysql 分表后查询_Mysql分表后怎么查询效率高?相关推荐

  1. 太原住宅小区型分户计费节能管理系统TKD-CAS 电力载波技术 节电效率高-节能环保

    住宅小区型分户计费节能管理系统TKD-CAS 电力载波技术 节电效率高-节能环保 (当量表 时间型计费系统 能量型计费系统) 公司是一家从事智能电网用户端的智能电力监控与电气安全系统的研发,生产和销售 ...

  2. mysql分表 查询_mysql分表+查询

    mysql分表+查询 垂直分表: 其实没啥好讲,就是 主键+常用列 放在原表中,再讲 主键+一些不常用列 放在另外的表中. 这样一个数据页就可以存放更多数据. 但是缺点也明显,可能会增加join 或 ...

  3. mysql 分表 条件查询_mysql分表+查询

    最近面试,问到关与mysql数据库的分表一些问题,如设计一个千万级别的会员数据库,当时想到了分表,但是当问到如何跟据username查询到用户的信息时,这时,有点卡住了,所以为了让自已重新认识分表,而 ...

  4. mysql分表的原则_mysql分表规则(转)

    author:skate time:2013/05/14 Mysql分表准则 在大量使用mysql时,数据量大.高访问时,为了提高性能需要分表处理,简介下mysql分表的标准,后续会继续补充 环境: ...

  5. mysql 分表和分区_Mysql分表和分区的区别

    一,什么是mysql分表,分区 什么是分表,从表面意思上看呢,就是把一张表分成N多个小表,具体请看mysql分表的3种方法 什么是分区,分区呢就是把一张表的数据分成N多个区块,这些区块可以在同一个磁盘 ...

  6. mysql分表的原则_Mysql分表准则

    Mysql分表准则 在大量使用mysql时,数据量大.高访问时,为了提高性能需要分表处理,简介下mysql分表的标准,后续会继续补充 环境: 业务类型:OLTP 硬件: cpu:8cpu 2.4GHZ ...

  7. mysql多表成绩查询_MySQL多表查询答案

    一.综合练习 1.1 init.sql文件内容 /* 数据导入: Navicat Premium Data Transfer Source Server : localhost Source Serv ...

  8. mysql锁表查询_mysql锁表查询(mysql查询锁表语句)

    mysql锁表查询(mysql查询锁表语句) 2020-07-24 11:44:55 共10个回答 怎么查找mysql中的锁表语句showprocesslist;SHOWPROCESSLIST显示哪些 ...

  9. mysql虚拟表查询_mysql虚拟表

    虚拟表,顾名思义,就是实际上并不存在(物理上不存在),但是逻辑上存在的表.这样说很抽象,还是看一些实际的例子吧. 在mysql中,存在三种虚拟表:临时表.内存表和视图.视图会单独讲,本节仅仅将临时表和 ...

  10. mysql多表连接 索引_MySQL多表查询之外键、表连接、子查询、索引

    一.外键: 1.什么是外键 2.外键语法 3.外键的条件 4.添加外键 5.删除外键 1.什么是外键: 主键:是唯一标识一条记录,不能有重复的,不允许为空,用来保证数据完整性 外键:是另一表的主键, ...

最新文章

  1. go语言定义二维数组
  2. SpringBoot2.6.1 elasticsearch7.1.5 Vue
  3. python调用selenium的get_Python – selenium webdriver在循环中停留在.get()
  4. springMVC实体用注解管理,多对多 set集合元素排序问题 解决
  5. android 上传头像工具类,Android开发中如何实现头像的更换与上传
  6. 【图论】求无向连通图的割点
  7. 微众银行互联网架构首次曝光
  8. 3806. 最小化字符串-AcWing题库
  9. 小学数学与计算机整合课优质教案,优秀小学数学教学案例【小学数学教学与信息技术的结合】...
  10. PDF复制文本快速去除换行,解决段落错乱
  11. 谷歌插件--SuperCopy(解决网页中文字不可复制的问题)
  12. vue3 tinymce富文本插件
  13. Linux正则表达式详解
  14. CC1310架构及工作原理
  15. OSChina 周一乱弹 —— 花式遛狗法
  16. (将英尺转换为米)编写程序,读入英尺数,将其转换为米数并显示结果。一英尺等于0.305米。
  17. JAVA实现彩色图片转黑白图片 (ImageIO类)
  18. 我相信希望,我相信明天~~
  19. 【JavaScript】什么是JavaScript?
  20. 2013.12.26 泡面吧--判断一个数是否为质数

热门文章

  1. 华为首款Harmonyos摄像头,海雀科技首款HarmonyOS智能摄像头Pro亮相华为智慧屏新品发布会...
  2. CSDN高手速成宝典(高手:zjcxc)
  3. 使用Disk Genius进行Ext3分区
  4. php设置文本框高度,怎样让textarea文本域宽度和高度width及height自动适应
  5. MT6158原理图,MT6158处理器参数,MT6158射频芯片资料
  6. OV4689 和IMX179的dts中节点的区别,以及dts节点的注释说明,基于rv1108平台
  7. 无需洪荒之力,轻松搞定奥运会奖牌榜
  8. 用Project软件编制项目计划【总结】
  9. 一款耐压40V可以输出12V长时间5A的内置MOS 芯片QFN封装5*6
  10. ANSI/ESD S20.20-2021 ESD 控制程序-电气和电子零件、组件和设备的保护 - 完整英文版(28页)