项目场景:

项目中总是有查询很慢的时候 相当于就是Sending data数据的时候很慢


问题描述:

这时候我们就要看他的处理过程了

show processlist;

这时可以查看他的 State 状态,他的状态可能是 Sending data
这是MySQL在做 “收集 + 发送 数据”;

在进一步排查

show profile;

这时候就看Duration哪里耗时最长
哪里耗时最长就是哪里的问题
一般是Sending data

也可以这样看一下

explain select * from table;

排查对比:

1. 表的设计一个字段为 XXX varchar(6000) DEFAULT NULL,而且该表中也有text类型为空的字段
2. 连表查询数据量大


原因分析:

  • 当Innodb的存储格式是 ROW_FORMAT=COMPACT (or ROW_FORMAT=REDUNDANT)的时候,Innodb只会存储前768字节的长度,剩余的数据存放到“溢出页”中。
show table status;

其实就是如果varchar类型如果长度过大的话,而且还是空的话,他会去比较,所以慢了

而且text类型也是会影响MySQL查询时候的速度,如果不是特殊情况最好不用


解决方案:

  1. 必要的查询时候去掉XXX字段查询,这是可以提高一下效率,设计的时候也最好不给长度过大。
  2. 像这种字段最好给 双引号 ’ ’ Empty String 这样会好一些
  3. 将该字段抽离出来,放到另外一张表里面,根据业务情况来定。

MySQL Sending data 查询数据慢相关推荐

  1. mysql按日期查询数据_mysql按日期查询数据

    问题:mysql按日期查询一个月内的数据,查询返回时结果集中只显示有数据的结果 需求:查询结果中假如当天没有数据,自动填零并输出 事件描述: sql语句: select DATE_FORMAT(dat ...

  2. JAVA-MySQL四{MySQL重点DQL查询数据}JAVA从基础开始 --7

    JAVA-MySQL四{MySQL重点DQL查询数据}JAVA从基础开始 --7 DQL查询语句 DQL - Data Query Language:数据查询语言 指定查询字段 1.全查 2.指定字段 ...

  3. MySQL中DQL查询数据——(四)

    MySQL中DQL查询数据--(四) 本篇博客,是个人根据 西部开源-秦疆老师的教学视频整理出的笔记,想看最详细的教学笔记和提供的SQL语句素材,请点击如下链接: https://www.cnblog ...

  4. java查询mysql装载bean_jsp与javabean链接mysql数据库并查询数据表的简单实例源码

    jsp与javabean链接mysql数据库并查询数据表的简单实例源码.这个简单的实例是给新手学习的,或者一些高手临时忘记怎么使用jsp操作mysql数据库时候查找的,包括了建立mysql数据库连接的 ...

  5. php 查看mysql连接数据库_php基础之连接mysql数据库和查询数据

    php基础之连接mysql数据库和查询数据 文章主要介绍了php连接mysql数据库和查询数据的方法和示例,需要的朋友可以参考下,就跟随百分网小编一起去了解下吧,想了解更多相关信息请持续关注我们应届毕 ...

  6. MySQL基础之查询数据

    MySQL基础之查询数据 一.DQL操作表中记录环境搭建 细节:查询只是查看数据,不会修改表中数据 创建商品表(goods2)包含: 商品名称(name),商品价格(price),商品销量(sales ...

  7. MySQL Sending data导致查询很慢的问题详细分析

    这两天帮忙定位一个MySQL查询很慢的问题,定位过程综合各种方法.理论.工具,很有代表性,分享给大家作为新年礼物:) [问题现象] 使用sphinx支持倒排索引,但sphinx从mysql查询源数据的 ...

  8. mysql sending data状态

    select * from searchzh where modified_date > '2009-09-02 14:45:22'; 一条mysql查询语句的性能:sending data 耗 ...

  9. MySQL中如何查询数据(下)

    MySQL查询数据 一.MySQL中定义空值 包含空值的算术表达式计算结果为空: 例 在 employees 中添加 commission_pct,计算年薪包含佣金. Alter table empl ...

  10. MySQL中如何查询数据(上)

    MySQL查询数据 一.MySQL的列选择 select * | 投影列 from 表名; 例 查询 departments 表中的所有数据: Select * from departments; 二 ...

最新文章

  1. 适用于SQL Server生产环境DBA的七大技巧
  2. 清华大学:刘洋——基于深度学习的机器翻译
  3. 计算机图形学----基于3D图形开发技术 (韩正贤 著)
  4. duilib各种布局的作用,相对布局与绝对布局的的意义与用法
  5. 简单解释 MapReduce 算法
  6. 极大似然估计 摘自维基百科
  7. 神盾解密工具 之 解密 “ PHP 神盾解密工具 ”
  8. python turtle工具箱_python 库之 turtle(图形绘制) 开启新的快乐源泉
  9. TypeError: Cannot read property ‘publish‘ of undefined“报错问题解决
  10. O2O年度反思:流量不再为王不赚钱就得死
  11. java编程思想第四版第十一章总结
  12. 汉语字典_Android版最新官方版,汉语字典专业版2020
  13. 群发红包 java如何实现_java 微信红包算法代码实现及架构设计
  14. android subscriber 自定义,自定义Subscriber
  15. 微信公众号H5网页支付
  16. win10如何共享打印机_局域网内,办公室USB接口打印机如何共享
  17. 在html中对页面大小的设置吗,网页设计一般页面尺寸怎么设置呢?
  18. IPAD USB 充电程序
  19. 手机性能测试指标及操作
  20. 整合Visual C++和WDK7:Step by step

热门文章

  1. mysql 根据经纬度查询范围点
  2. 《阿特拉斯耸耸肩》节选:互害与甩锅的反敏捷组织
  3. windows底层编程基础
  4. 通过ODC方法改善软件测试:3个案例研究
  5. Excel数据透视,日期最大值或最小值显示为0
  6. ufs 固态硬盘_单芯片SSDs / eMMC / UFS
  7. 纯代码蓝色理想的logo
  8. Android WIFI 分析
  9. 计算机出现蓝屏cpu很烫,win7系统电脑蓝屏罪魁祸首CPU超频的解决方法
  10. MSP430F149按键中断寄存器配置