mysql - mysql中Query时间是否包括Lock时间?

标签 mysql optimization

如果我在 mysql_slow.log 文件中看到此信息:

Query_time: 31.112148  Lock_time: 31.111902 
Rows_sent: 0  Rows_examined: 1 SET timestamp=1380118248;

这是否意味着该特定查询浪费的总时间是 Query_time - Lock_time = 0.000246?

还是具体查询浪费了Query_time,整个过程浪费了Query_time + Lock_time = 62.22405?

最佳答案

您的第一个猜测是正确的;查询的执行时间为 0.000246。

Lock_time 表示查询花费了多长时间等待获取锁,锁是仅在行上(对于使用 InnoDB 存储引擎的表)还是在整个表(MyISAM 存储引擎)。

要减少Lock_time,您可以考虑将表的存储引擎更改为InnoDB,它支持在UPDATEINSERT,以及其他修改数据库内容的语句。 MyISAM 为此类操作锁定整个表。

关于mysql - mysql中Query时间是否包括Lock时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19011789/

相关文章:

optimization - SEO:正常链接旁边的 nofollow 链接

mysql - Mysql中如何通过另一行的另一列更新一行的一列的内容

php - 具有重叠时间的大量 PHP/MySQL 插入

PHP 更安全的重定向方式

mysql - 插入前检查外键是否完整

python - 如何在 Optuna 中建议多变量比率(有界限)?

mysql - 自动化部门报告的正确方法?

java - 从数组中删除所有零

optimization - 查找使矩阵中的行唯一的列的最小子集

C# 轻量级方法来存储具有快速访问的大位矩阵