前言

事情是这样的:线上环境有个单表,数据才3000多笔,每次按条件过滤都要2秒左右,简直无法理解。抱着好奇心,我决定研究一下到底是什么情况。

索引分析

explain select * from **** ,发现并没有走索引。

将索引加上之后,速度从2秒变成0.1秒不到。

但是呢,正常情况下3000笔数据就算不走索引,查询也应该是毫秒级响应,所以继续排查其他原因

表结构分析

查看该表的字段,发现有个 LongText 类型的字段 props,存储了大量JSON数据和BASE64的图片(不要问我为什么这样存,有些项目就是这么的匪夷所思!!!!)此外,整张表虽然才3000多笔数据,但是占用空间达到了2G,就是拜LongText字段所赐。

我们将 props 字段从 select 返回的字段中移除,发现速度飞快,但是这个字段又是必须的,那怎么解决呢?

解决方案

方案一: 根据where条件创建索引,上面演示过了

方案二:把 props 字段放到单独的表,先把对应的 id 都查出来,再去这张表取出需要的 props 数据,可以大大地减少 LongText 字段的扫描次数。

问题排查:单表3000笔数据查询竟然要2秒?相关推荐

  1. MySQL单表多字段模糊查询

    今天工作时遇到一个功能问题:就是输入关键字搜索的字段不只一个字段,比如 我输入: 超天才 ,需要检索出 包含这个关键字的 name . company.job等多个字段.在网上查询了一会就找到了答案. ...

  2. mysql 关键字模糊查询_MySQL单表多关键字模糊查询的实现方法

    在最近的一个项目需要实现在MySQL单表多关键字模糊查询,但这数个关键字并不一定都存在于某个字段.例如现有table表,其中有title,tag,description三个字段,分别记录一条资料的标题 ...

  3. MySQL单表多字段模糊查询解决方法

    2019独角兽企业重金招聘Python工程师标准>>> 在最近的一个项目需要实现在单表中对多字段进行多个关键字的模糊查询,但这数个关键字并不一定都存在于某个字段 例如现有table表 ...

  4. mysql查询单表的销售额_MYsql数据库单表百万数据量查询

    最近总在意自己的网页刷新数据的速度,mysql5.7和mysql8.0单表数据库导入百万甚至千万数据的时候,会不会卡死,会不会慢? 因此编写测试用例,通过Navicat Premium来查询单表的时间 ...

  5. mysql为何500w拆表_【mysql】MySQL 单表500W+数据,查询超时,如何优化呢?

    1.问题描述: MySQL 数据库,单表 `im_data_record`,查询超时(30s) 表结构如下图: 表索引如下图: 查询语句如下: SELECT `record_global_id`, ` ...

  6. mysql单表狂 insert极限:已实现每秒插入2.5w条数据

    很多同学都有这样的困扰: 工作中项目的数据量不大,遇不到sql优化的场景:单表就几万,我优化个der啊: 业务对性能要求不高,远远没达到性能瓶颈:咱这项目又不是不能跑,优化个der啊: 确实,如果你的 ...

  7. ef 单表一对多集合查询_FILTER函数你用过吗?一对多查询与自动筛选,用它都能轻松搞定...

    Hello,大家好,对于一对多查询这样的问题,相信很多人都是使用index+if+small这个函数组合来查找数据,但是使用起来却经常出错,今天就跟大家分享一种比较简单的一对多查询的方法,就是使用FI ...

  8. 实验五 单表查询(V2.0版)

    实验五 单表查询 [实验目的] 1. 掌握单表的列的查询 2. 掌握单表的行的查询 [实验内容] 1. 实验前准备,SC数据库的创建.   (见参考资料1) 2. 查询的理论基础 命令: 1) Sel ...

  9. mysql 一对多 右表多条记录合并_MYSQL 单表一对多查询,将多条记录合并成一条记录...

    一.描述: 在MySQL 5.6环境下,应工作需求:将一个表中多条某个相同字段的其他字段合并(不太会表达,有点绕,直接上图) 想要达到的效果: 实现SQL语句: SELECT a.books, GRO ...

最新文章

  1. 在Blender中创建真实的汽车CGI视觉动画效果
  2. shardingjdbc全局表_sharding-jdbc实现按年分库按月分表
  3. caffe中权值初始化方法
  4. KMM+Compose 开发一个Kotlin多平台应用
  5. 编码练习——Java-1-基础
  6. os_mutex.c(全)
  7. 卸载unixodbc_完全卸载旧的unixODBC并在redhat 6.3中安装2.3.2 unixODBC
  8. python实现弹幕_python实现b站直播自动发送弹幕功能
  9. u-boot分析(八)----串口初始化
  10. java编译系统资源不足_Ant编译项目资源不足
  11. java 客户化排序_第八部分_客户化JSP标签
  12. 使用recyclerView实现无限循环banner效果
  13. svn和GitHub的使用
  14. Linux高级权限管理
  15. 大数据之-Hadoop完全分布式_集群中分发脚本xsync_集群环境中同时配置大量主机---大数据之hadoop工作笔记0033
  16. sql server 数据库创建链接服务器访问另外一个sql server 数据库
  17. java软件测试方法有哪些方法有哪些方法_软件测试方法和软件测试规则
  18. 利用SusuCMS快速创建网站(一)
  19. ppt如何将表格转化为饼图?
  20. 一个amp;quot;现象级amp;quot;大数据公司的蜕变

热门文章

  1. SAP query生成的程序名
  2. 足坛绝代双骄全面数据对比,梅西30岁以后不如C罗?
  3. 买淘宝特价版,产业升级的证明
  4. sklearn 随机森林_初识随机森林及sklearn实现
  5. php给图片加图片水印,php给图片添加文字或图片水印实现代码
  6. java 8 语法糖_Java8的lamada算是一种语法糖吗?
  7. Travis CI mysql_DevOps工具介绍连载(34)——Travis CI
  8. centos7桌面登录root用户_CentOS7从一般用户切换到root用户
  9. Python索引index常用的8种操作
  10. Python中find函数的作用及用法