mysql sending data 耗时_mysql sending data状态时间花费太大
select * from searchzh where modified_date > '2009-09-02 14:45:22';
一条mysql查询语句的性能:sending data 耗时10分钟。。。。
+--------------------------------+-----------+
| Status | Duration |
+--------------------------------+-----------+
| (initialization) | 0.000006 |
| checking query cache for query | 0.000025 |
| checking permissions | 0.000008 |
| Opening tables | 0.000148 |
| System lock | 0.000008 |
| Table lock | 0.000008 |
| init | 0.000007 |
| checking permissions | 0.000045 |
| optimizing | 0.000016 |
| statistics | 0.00027 |
| preparing | 0.000034 |
| executing | 0.000005 |
| Sending data | 614.25387 |
| end | 0.000046 |
| query end | 0.000012 |
| freeing items | 0.000017 |
| closing tables | 0.000008 |
| logging slow query | 0.000054 |
+--------------------------------+-----------+
18 rows in set (0.01 sec)
产生的原因:
searchzh视图相关的表,update,insert,delete操作频繁。在mysql的表锁定机制中,select语句的优先级比update低。所以此select语句一直在锁队列中等待,后来的update操作会插队到select语句前面。导致| Sending data | 614.25387 |
解决方法有多种,最简单的:
select HIGH_PRIORITY * from searchzh where modified_date > '2009-09-02 14:45:22';
指定该select语句具有高优先级。
=======================================
mysql15:21:30> SHOW STATUS LIKE 'Table%';
+-----------------------+-----------+
| Variable_name | Value |
+-----------------------+-----------+
| Table_locks_immediate | 120977304 |
| Table_locks_waited | 577 |
+-----------------------+-----------+
表锁争用现象比较严重。
在频繁更新和查询的情景下,使用innodb也许更好。
转载
mysql sending data 耗时_mysql sending data状态时间花费太大相关推荐
- mysql load data 语法_MySql LOAD DATA 使用
load的语法 LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name.txt' [REPLACE | IGNORE] INTO ...
- mysql load 指定字段_mysql load data部分字段的正确写法
在日常运维中,会经常遇到将文件中数据导入到数据库中,如果是.sql文件,直接采用source方式即可:如果是.csv..txt文件,可以采用load data方式.这两种方式都十分熟悉,这里说一种特殊 ...
- mysql主从 dump线程_MySQL主从复制线程状态转变
一.主库线程状态(State)值 以下列表显示了主从复制中主服务器的Binlog Dump线程的State列中可能看到的最常见状态(SHOW PROCESSLIST).如果Binlog Dump线程在 ...
- mysql查看连接数命令_MySQL 连接数和状态查看命令
MySQL 连接数和状态查看命令 以下命令是登陆 MySQL的cli 之后执行命令 1. 查看MySQL实例的当前连接数:show processlist show processlist: 列出当前 ...
- mysql查看连接数命令_Mysql 查看连接数,状态
命令: show processlist; 如果是root帐号,你能看到所有用户的当前连接.如果是其它普通帐号,只能看到自己占用的连接. show processlist;只列出前100条,如果想全列 ...
- mysql truncate很慢_mysql数据库truncate表时间长处理
[环境介绍] 系统环境:Linux + mysql 5.7.18 + 主从复制架构 [背景描述] 客户反映用在mysql数据库上truncate一个innode引擎的list分区100G左右表时,耗时 ...
- mysql order by 日期_mysql order by基于时间的盲注
order by后面的注入,一般先尝试报错注入,无报错的时候可以通过rand(ture)和rand(false)来进行bool型盲注,但是今天遇到完全没有数据回显的(也就是数据库中没有数据)情况,这就 ...
- mysql算法优化原则_Mysql优化原则_小表驱动大表IN和EXISTS的合理利用
//假设一个for循环 for($i = 0; $i < 10000; $i++) { for ($j = 0; $i < 50; $j++) { } } for($i = 0; $i & ...
- mysql+mdl+解决办法_Mysql DDL出现长时间等待MDL问题分析
给表新增字段时,发现锁表了,查看进程,提示Waiting for table metadata lock,等待锁释放:然而蛋疼的是几分钟过去了,依然没有任何的进展,特此记录下这个问题的定位过程以及MD ...
- mysql获取前一天日期_mysql中获取当前时间的前一天
在日志中,经常需要获取当天的或者前一天的数据 当前时间前一天 :SELECT DATE_SUB(CURDATE(),INTERVAL 1 DAY); 当天: select * from user wh ...
最新文章
- MyEclipse 6.5 快捷键
- python的最大绘图速度_Python数据可视化之高速绘图神器PyQtGraph库,强烈建议收藏...
- 【论文解读】打破常规,逆残差模块超强改进,新一代移动端模型MobileNeXt来了!精度速度双超MobileNetV2...
- Google的三篇大数据思想论文
- JavaScrpt --- es5实现ES6的Number扩展(部分)
- mysql 5.6 slave stop_mysql 5.6 Replication 参数
- 【教程分享】Jmeter入门教程
- 天津计算机的专科学校,天津市电子计算机职业中等专业学校
- Oracle优化器:星型转换(Star Query Transformation )
- byte 类型比较_基本类型和包装类对象使用 == 和 equals进行比较的结果?
- IntelliJ IDEA使用技巧(二)——添加jar包
- 翻译java代码软件_apk源代码翻译器|安卓软件apk源代码翻译器下载_V1.0_9号软件下载...
- 收藏 | 数据资源下载网址大全
- NOI题库 小学奥数
- [BZOJ3240][Noi2013]矩阵游戏 快速幂
- linux iptables源ip替换,Linux更改源IP地址的传入流量
- C语言常见字符串处理string.h库函数strstr、strchr、strcat、strcmp、strcpy、strlen的介绍
- django3.0+ 使用 xadmin
- java 输出特殊字符_java原样输出特殊符号
- 信息安全系统设计基础实验二—20135215黄伟业20135222胡御风